OvertimeRuleItem.cs 2.1 KB

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