OvertimeRuleItem.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. using System;
  2. using InABox.Core;
  3. namespace Comal.Classes
  4. {
  5. [UserTracking(typeof(TimeSheet))]
  6. public class OvertimeRuleItem : Entity, IRemotable, IPersistent, IOneToMany<OvertimeRule>, ILicense<TimeManagementLicense>
  7. {
  8. [EntityRelationship(DeleteAction.Cascade)]
  9. public OvertimeRuleLink OvertimeRule { get; set; }
  10. [EnumLookupEditor(typeof(DayOfWeek))]
  11. [EditorSequence(0)]
  12. public DayOfWeek DayOfWeek { get; set; }
  13. [TimeOfDayEditor]
  14. [EditorSequence(1)]
  15. public TimeSpan LunchThreshold { get; set; }
  16. [TimeOfDayEditor]
  17. [EditorSequence(2)]
  18. public TimeSpan LunchBreak { get; set; }
  19. [TimeOfDayEditor]
  20. [EditorSequence(3)]
  21. public TimeSpan Hours01 { get; set; }
  22. [DoubleEditor]
  23. [EditorSequence(4)]
  24. public double Multiplier01 { get; set; }
  25. [TimeOfDayEditor]
  26. [EditorSequence(5)]
  27. public TimeSpan Hours02 { get; set; }
  28. [DoubleEditor]
  29. [EditorSequence(6)]
  30. public double Multiplier02 { get; set; }
  31. [TimeOfDayEditor]
  32. [EditorSequence(7)]
  33. public TimeSpan Hours03 { get; set; }
  34. [DoubleEditor]
  35. [EditorSequence(8)]
  36. public double Multiplier03 { get; set; }
  37. [TimeOfDayEditor]
  38. [EditorSequence(9)]
  39. public TimeSpan Hours04 { get; set; }
  40. [DoubleEditor]
  41. [EditorSequence(10)]
  42. public double Multiplier04 { get; set; }
  43. [TimeOfDayEditor]
  44. [EditorSequence(11)]
  45. public TimeSpan Hours05 { get; set; }
  46. [DoubleEditor]
  47. [EditorSequence(12)]
  48. public double Multiplier05 { get; set; }
  49. //protected override string ToSort()
  50. //{
  51. // int iDay = (int)DayOfWeek + (DayOfWeek == DayOfWeek.Sunday ? 7 : 0);
  52. // return iDay.ToString();
  53. //}
  54. public static SortOrder<OvertimeRuleItem> SortOrder()
  55. {
  56. return new SortOrder<OvertimeRuleItem>(x => x.DayOfWeek);
  57. }
  58. }
  59. }