LeaveCalendar.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using System;
  2. using InABox.Core;
  3. namespace Comal.Classes
  4. {
  5. public class LeaveCalendarGenerator : AutoEntityUnionGenerator<IEmployeeLeaveRequest>
  6. {
  7. protected override void Configure()
  8. {
  9. AddTable<EmployeeStandardLeave>();
  10. AddTable<LeaveRequest>();
  11. }
  12. public override bool Distinct => false;
  13. }
  14. [AutoEntity(typeof(LeaveCalendarGenerator))]
  15. public class LeaveCalendar : Entity, IRemotable, IPersistent, IEmployeeLeaveRequest
  16. {
  17. public EmployeeLink EmployeeLink { get; set; }
  18. public LeaveRequestActivityLink LeaveType { get; set; }
  19. public DateTime From { get; set; }
  20. public TimeSpan FromTime { get; set; }
  21. public DateTime To { get; set; }
  22. public TimeSpan ToTime { get; set; }
  23. public DateTime Approved { get; set; }
  24. public LeaveRequestStatus Status { get; set; }
  25. public StandardLeaveLink StandardLeave { get; set; }
  26. protected override void Init()
  27. {
  28. base.Init();
  29. EmployeeLink = new EmployeeLink();
  30. LeaveType = new LeaveRequestActivityLink();
  31. StandardLeave = new StandardLeaveLink();
  32. }
  33. }
  34. }