JobEquipment.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using System;
  2. using InABox.Core;
  3. namespace Comal.Classes
  4. {
  5. [UserTracking(typeof(Equipment))]
  6. public class JobEquipment : Entity, IPersistent, IRemotable, IManyToMany<Job, Equipment>, ILicense<EquipmentLicense>
  7. {
  8. [EditorSequence(1)]
  9. [EntityRelationship(DeleteAction.Cascade)]
  10. public JobLink Job { get; set; }
  11. [Obsolete("Replaced by Job")]
  12. public JobLink JobLink
  13. {
  14. get => Job;
  15. set { }
  16. }
  17. [EditorSequence(2)]
  18. [EntityRelationship(DeleteAction.Cascade)]
  19. public EquipmentLink Equipment { get; set; }
  20. [Obsolete("Replaced by Equipment")]
  21. public EquipmentLink EquipmentLink
  22. {
  23. get => Equipment;
  24. set { }
  25. }
  26. [EditorSequence(3)]
  27. [DateEditor]
  28. public DateTime Certified { get; set; }
  29. [EditorSequence(4)]
  30. public bool OnSite { get; set; }
  31. static JobEquipment()
  32. {
  33. DefaultColumns.Add<JobEquipment>(x => x.Job.JobNumber, caption: "Job #");
  34. DefaultColumns.Add<JobEquipment>(x => x.Job.Name, caption: "Job Name");
  35. DefaultColumns.Add<JobEquipment>(x => x.Equipment.Code, caption: "Code");
  36. DefaultColumns.Add<JobEquipment>(x => x.Equipment.Description, caption: "Description");
  37. DefaultColumns.Add<JobEquipment>(x => x.Certified);
  38. DefaultColumns.Add<JobEquipment>(x => x.OnSite, caption: "On Site?");
  39. }
  40. }
  41. }