IDigitalFormInstance.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using System;
  2. namespace InABox.Core
  3. {
  4. public interface IBaseDigitalFormInstance : IEntity
  5. {
  6. DigitalFormLink Form { get; set; }
  7. DateTime FormStarted { get; set; }
  8. TimeSpan FormOpen { get; set; }
  9. DateTime FormCompleted { get; set; }
  10. DateTime FormProcessed { get; set; }
  11. DateTime FormCancelled { get; set; }
  12. }
  13. public interface ICoreDigitalFormInstance : IBaseDigitalFormInstance
  14. {
  15. [Obsolete("Replaced with Form", true)]
  16. QAFormLink QAForm { get; set; }
  17. [Obsolete("Replaced with FormData", true)]
  18. string QAData { get; set; }
  19. String Number { get; set; }
  20. string FormData { get; set; }
  21. string? BlobData { get; set; }
  22. [Obsolete("Replaced with FormCompleted", true)]
  23. DateTime QACompleted { get; set; }
  24. [Obsolete("Replaced with FormCompletedBy", true)]
  25. UserLink QACompletedBy { get; set; }
  26. UserLink FormCompletedBy { get; set; }
  27. Location Location { get; set; }
  28. IDigitalFormDataModel CreateDataModel(Entity? parent = null);
  29. IEntityLink Parent { get; set; }
  30. Guid ParentID();
  31. Type ParentType();
  32. }
  33. public interface IDigitalFormInstance : ICoreDigitalFormInstance
  34. {
  35. }
  36. public interface IDigitalFormInstance<TEntityLink> : IDigitalFormInstance where TEntityLink : IEntityLink
  37. {
  38. new TEntityLink Parent { get; set; }
  39. IEntityLink ICoreDigitalFormInstance.Parent
  40. {
  41. get => Parent;
  42. set
  43. {
  44. Parent = (TEntityLink)value;
  45. }
  46. }
  47. }
  48. }