IDigitalFormInstance.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. using System;
  2. namespace InABox.Core
  3. {
  4. public interface IBaseDigitalFormInstance : IEntity
  5. {
  6. DigitalFormLink Form { get; }
  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. [ObsoleteProperty(nameof(Form))]
  17. QAFormLink QAForm { get; }
  18. [Obsolete("Replaced with FormData", true)]
  19. [ObsoleteProperty(nameof(FormData))]
  20. string QAData { get; set; }
  21. String Number { get; set; }
  22. String Description { get; set; }
  23. string FormData { get; set; }
  24. string? BlobData { get; set; }
  25. [Obsolete("Replaced with FormCompleted", true)]
  26. [ObsoleteProperty(nameof(FormCompleted))]
  27. DateTime QACompleted { get; set; }
  28. [Obsolete("Replaced with FormCompletedBy", true)]
  29. [ObsoleteProperty(nameof(FormCompletedBy))]
  30. UserLink QACompletedBy { get; }
  31. UserLink FormCompletedBy { get; }
  32. Location Location { get; }
  33. IDigitalFormDataModel CreateDataModel(DigitalFormVariable[] variables, Entity? parent = null);
  34. IEntityLink Parent { get; }
  35. Guid ParentID();
  36. Type ParentType();
  37. }
  38. public interface IDigitalFormInstance : ICoreDigitalFormInstance
  39. {
  40. }
  41. public interface IDigitalFormInstance<TEntityLink> : IDigitalFormInstance where TEntityLink : IEntityLink
  42. {
  43. new TEntityLink Parent { get; }
  44. IEntityLink ICoreDigitalFormInstance.Parent
  45. {
  46. get => Parent;
  47. }
  48. }
  49. }