AssignmentLink.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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 date of the assignment
  17. /// </summary>
  18. [DateTimeEditor(Editable = Editable.Hidden)]
  19. public DateTime Date { get; set; }
  20. /// <summary>
  21. /// The start time of the assigment
  22. /// </summary>
  23. [TimeOfDayEditor(Editable = Editable.Hidden)]
  24. public TimeSpan Start { get; set; }
  25. /// <summary>
  26. /// The duration of the assignment
  27. /// </summary>
  28. [TimeOfDayEditor(Editable = Editable.Hidden)]
  29. public TimeSpan Duration { get; set; }
  30. /// <summary>
  31. /// Identifies the leave request (if any) that generated this assignment
  32. /// </summary>
  33. [NullEditor]
  34. public LeaveRequestLink LeaveRequestLink { get; set; }
  35. [NullEditor]
  36. public JobLink JobLink { get; set; }
  37. protected override void Init()
  38. {
  39. base.Init();
  40. LeaveRequestLink = new LeaveRequestLink();
  41. JobLink = new JobLink();
  42. }
  43. }
  44. }