StandardLeave.cs 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. using System;
  2. using InABox.Core;
  3. namespace Comal.Classes
  4. {
  5. public interface IStandardLeave
  6. {
  7. string Name { get; set; }
  8. DateTime From { get; set; }
  9. DateTime To { get; set; }
  10. }
  11. public class StandardLeaveLink : EntityLink<StandardLeave>, IStandardLeave, IExportable, IImportable
  12. {
  13. [LookupEditor(typeof(StandardLeave))]
  14. public override Guid ID { get; set; }
  15. [TextBoxEditor(Visible = Visible.Default, Editable = Editable.Disabled)]
  16. [EditorSequence(1)]
  17. public string Name { get; set; }
  18. [DateEditor(Visible = Visible.Default, Editable = Editable.Disabled)]
  19. [EditorSequence(2)]
  20. public DateTime From { get; set; }
  21. [DateEditor(Visible = Visible.Default, Editable = Editable.Disabled)]
  22. [EditorSequence(3)]
  23. public DateTime To { get; set; }
  24. }
  25. [UserTracking(typeof(LeaveRequest))]
  26. public class StandardLeave : Entity, IStandardLeave, IRemotable, IPersistent, ILicense<LeaveManagementLicense>
  27. {
  28. [TimeOfDayEditor]
  29. [EditorSequence(3)]
  30. public TimeSpan FromTime { get; set; }
  31. [TimeOfDayEditor]
  32. [EditorSequence(5)]
  33. public TimeSpan ToTime { get; set; }
  34. [EntityRelationship(DeleteAction.SetNull)]
  35. [EditorSequence(6)]
  36. public ActivityLink LeaveType { get; set; }
  37. [TextBoxEditor]
  38. [EditorSequence(1)]
  39. public string Name { get; set; }
  40. [DateEditor]
  41. [EditorSequence(2)]
  42. public DateTime From { get; set; }
  43. [DateEditor]
  44. [EditorSequence(4)]
  45. public DateTime To { get; set; }
  46. protected override void Init()
  47. {
  48. base.Init();
  49. LeaveType = new ActivityLink();
  50. ToTime = new TimeSpan(23, 59, 59);
  51. }
  52. }
  53. public class PublicHolidayLookups : EntityLookup<StandardLeave>
  54. {
  55. public override Columns<StandardLeave> DefineColumns()
  56. {
  57. return new Columns<StandardLeave>().Default();
  58. }
  59. public override Filter<StandardLeave> DefineFilter()
  60. {
  61. return null;
  62. }
  63. public override SortOrder<StandardLeave> DefineSortOrder()
  64. {
  65. return new SortOrder<StandardLeave>(x => x.From);
  66. }
  67. }
  68. }