DigitalFormsHelper.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. using Comal.Classes;
  2. using comal.timesheets.QAForms;
  3. using InABox.Core;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Text;
  7. namespace comal.timesheets
  8. {
  9. public static class DigitalFormsHelper
  10. {
  11. public static IDigitalFormHostModel LoadModel(DigitalFormLayout layout, Type type, Kanban addToTaskKanban, Guid JobID = new Guid(), ExistingFormShell form = null, bool addingToTask = false)
  12. {
  13. if (type == typeof(JobForm))
  14. {
  15. var model = new DigitalFormHostModel<Job, JobLink, JobForm>();
  16. var job = new Job();
  17. var jobForm = new JobForm();
  18. jobForm.Form.ID = layout.Form.ID;
  19. if (form == null)
  20. {
  21. job.ID = JobID;
  22. }
  23. else
  24. {
  25. jobForm.ID = form.ID;
  26. job.ID = form.ParentID;
  27. }
  28. model.LoadItems(job, jobForm, layout);
  29. return model;
  30. }
  31. else
  32. {
  33. var model = new DigitalFormHostModel<Kanban, KanbanLink, KanbanForm>();
  34. var kanban = new Kanban();
  35. var kanbanForm = new KanbanForm();
  36. kanbanForm.Form.ID = layout.Form.ID;
  37. if (form != null)
  38. {
  39. kanbanForm.ID = form.ID;
  40. kanban.ID = form.ParentID;
  41. }
  42. if (addingToTask)
  43. {
  44. kanbanForm.Parent.ID = addToTaskKanban.ID;
  45. kanban.ID = addToTaskKanban.ID;
  46. }
  47. model.LoadItems(kanban, kanbanForm, layout);
  48. return model;
  49. }
  50. }
  51. }
  52. }