JobTracker.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using System;
  2. using InABox.Core;
  3. namespace Comal.Classes
  4. {
  5. public class JobTrackerLink : EntityLink<JobTracker>
  6. {
  7. [LookupEditor(typeof(JobTracker))]
  8. public override Guid ID { get; set; }
  9. [NullEditor]
  10. public JobLink Job { get; set; }
  11. [TextBoxEditor(Editable = Editable.Hidden)]
  12. public string Gate { get; set; }
  13. }
  14. [UserTracking(typeof(GPSTracker))]
  15. public class JobTracker : Entity, IPersistent, IRemotable, IManyToMany<Job, GPSTracker>, ILicense<GPSTrackerLicense>
  16. {
  17. [EditorSequence(1)]
  18. [EntityRelationship(DeleteAction.Cascade)]
  19. public JobLink Job { get; set; }
  20. [Obsolete("Replaced by Job")]
  21. public JobLink JobLink
  22. {
  23. get => Job;
  24. set { }
  25. }
  26. [EditorSequence(2)]
  27. [EntityRelationship(DeleteAction.SetNull)]
  28. public GPSTrackerLink Tracker { get; set; }
  29. [Obsolete("Replaced by Tracker")]
  30. public GPSTrackerLink TrackerLink
  31. {
  32. get => Tracker;
  33. set { }
  34. }
  35. [EditorSequence(3)]
  36. public string Gate { get; set; }
  37. [EditorSequence(4)]
  38. public bool Active { get; set; }
  39. // If a mobile app finds one of these tiles
  40. // this flag should indicate whether to log them onto
  41. // the associated job or not.
  42. [EditorSequence(5)]
  43. public bool IsJobSite { get; set; }
  44. }
  45. }