StandardLeaveModel.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using System;
  2. using System.Collections.ObjectModel;
  3. using System.Windows.Media;
  4. using Comal.Classes;
  5. using InABox.Core;
  6. using InABox.WPF;
  7. namespace PRSDesktop
  8. {
  9. public class StandardLeaveModel : Model<StandardLeaveModel, StandardLeave>
  10. {
  11. public String? Code { get; }
  12. public String? Subject { get; }
  13. public String? Color { get; }
  14. public DateTime From { get; }
  15. public TimeSpan FromTime { get; }
  16. public DateTime To { get; }
  17. public TimeSpan ToTime { get; }
  18. public StandardLeaveModel(CoreRow row) : base(row)
  19. {
  20. Code = CoreUtils.Codify(Get(c => c.LeaveType.Description));
  21. Subject = Get(c => c.LeaveType.Description);
  22. Color = Get(c => c.LeaveType.Color);
  23. From = Get(c => c.From);
  24. FromTime = Get(c => c.FromTime);
  25. To = Get(c => c.To);
  26. ToTime = Get(c => c.ToTime);
  27. }
  28. public override Columns<StandardLeave> GetColumns()
  29. {
  30. return new Columns<StandardLeave>(x => x.ID)
  31. .Add(c => c.ID)
  32. .Add(c => c.LeaveType.Description)
  33. .Add(c => c.Name)
  34. .Add(c => c.LeaveType.Color)
  35. .Add(c => c.From)
  36. .Add(c => c.FromTime)
  37. .Add(c => c.To)
  38. .Add(c => c.ToTime);
  39. }
  40. }
  41. }