EmployeeLeaveSummary.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System;
  2. using System.Threading;
  3. using InABox.Core;
  4. namespace Comal.Classes
  5. {
  6. public class EmployeeLeaveSummaryGenerator : AutoEntityUnionGenerator<IEmployeeLeaveRequest>
  7. {
  8. protected override void Configure()
  9. {
  10. AddTable<EmployeeStandardLeave>();
  11. var leave = AddTable<LeaveRequest>();
  12. }
  13. public override bool Distinct => false;
  14. public override Column<IEmployeeLeaveRequest>[] IDColumns => new Column<IEmployeeLeaveRequest>[]
  15. {
  16. new Column<IEmployeeLeaveRequest>(x => x.EmployeeLink.ID),
  17. new Column<IEmployeeLeaveRequest>(x => x.StandardLeave.ID)
  18. };
  19. }
  20. [Obsolete("Not Used at this stage", false)]
  21. [AutoEntity(typeof(EmployeeLeaveSummaryGenerator))]
  22. public class EmployeeLeaveSummary : Entity, IRemotable, IPersistent, IEmployeeLeaveRequest, ILicense<LeaveManagementLicense>
  23. {
  24. public EmployeeLink EmployeeLink { get; set; }
  25. public LeaveRequestActivityLink LeaveType { get; set; }
  26. public DateTime From { get; set; }
  27. public TimeSpan FromTime { get; set; }
  28. public DateTime To { get; set; }
  29. public TimeSpan ToTime { get; set; }
  30. public DateTime Approved { get; set; }
  31. public LeaveRequestStatus Status { get; set; }
  32. public LeaveRequestLink LeaveRequest { get; set; }
  33. public StandardLeaveLink StandardLeave { get; set; }
  34. }
  35. }