DigitalFormInstance.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using System;
  2. using InABox.Core;
  3. namespace Comal.Classes
  4. {
  5. public class DigitalFormInstanceGenerator : AutoEntityUnionGenerator<IBaseDigitalFormInstance>
  6. {
  7. protected override void Configure()
  8. {
  9. AddTable<AssignmentForm>();
  10. AddTable<EmployeeForm>();
  11. AddTable<KanbanForm>();
  12. AddTable<JobForm>();
  13. AddTable<LeaveRequestForm>();
  14. AddTable<PurchaseOrderItemForm>();
  15. AddTable<TimeSheetForm>();
  16. }
  17. public override bool Distinct => false;
  18. public override Column<IBaseDigitalFormInstance>[] IDColumns => new Column<IBaseDigitalFormInstance>[]
  19. {
  20. new Column<IBaseDigitalFormInstance>(x => x.ID),
  21. };
  22. }
  23. [AutoEntity(typeof(DigitalFormInstanceGenerator))]
  24. public class DigitalFormInstance : Entity, IRemotable, IPersistent, IBaseDigitalFormInstance, ILicense<DigitalFormsLicense>
  25. {
  26. public DigitalFormLink Form { get; set; }
  27. public DateTime FormStarted { get; set; }
  28. public DateTime FormCompleted { get; set; }
  29. public TimeSpan FormOpen { get; set; }
  30. protected override void Init()
  31. {
  32. base.Init();
  33. Form = new DigitalFormLink();
  34. }
  35. }
  36. }