AssignmentLink.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using System;
  2. using InABox.Core;
  3. namespace Comal.Classes
  4. {
  5. /// <summary>
  6. /// Allows other entities to link to an Assignment
  7. /// </summary>
  8. public class AssignmentLink : EntityLink<Assignment>
  9. {
  10. /// <summary>
  11. /// The ID of the linked assignment
  12. /// </summary>
  13. [NullEditor]
  14. public override Guid ID { get; set; }
  15. /// <summary>
  16. /// The Number of the linked assignment
  17. /// </summary>
  18. [IntegerEditor(Editable = Editable.Hidden)]
  19. public int Number { get; set; }
  20. /// <summary>
  21. /// The date of the assignment
  22. /// </summary>
  23. [DateTimeEditor(Editable = Editable.Hidden)]
  24. public DateTime Date { get; set; }
  25. /// <summary>
  26. /// The start time of the assigment
  27. /// </summary>
  28. [TimeOfDayEditor(Editable = Editable.Hidden)]
  29. public TimeSpan Start { get; set; }
  30. /// <summary>
  31. /// The duration of the assignment
  32. /// </summary>
  33. [TimeOfDayEditor(Editable = Editable.Hidden)]
  34. public TimeSpan Duration { get; set; }
  35. /// <summary>
  36. /// Identifies the leave request (if any) that generated this assignment
  37. /// </summary>
  38. [NullEditor]
  39. public LeaveRequestLink LeaveRequest { get; set; }
  40. [NullEditor]
  41. [Obsolete("Replaced with LeaveRequest")]
  42. [ObsoleteProperty(nameof(LeaveRequest))]
  43. public LeaveRequestLink LeaveRequestLink { get => LeaveRequest; set { } }
  44. [NullEditor]
  45. public JobLink Job { get; set; }
  46. [NullEditor]
  47. [Obsolete("Replaced with Job")]
  48. [ObsoleteProperty(nameof(Job))]
  49. public JobLink JobLink { get => Job; set { } }
  50. [NullEditor]
  51. public JobScopeLink JobScope { get; set; }
  52. }
  53. }