OvertimeInterval.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using InABox.Core;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Text;
  5. namespace Comal.Classes
  6. {
  7. public enum OvertimeIntervalType
  8. {
  9. Interval,
  10. RemainingTime
  11. }
  12. public class OvertimeInterval : Entity, IRemotable, IPersistent, IOneToMany<Overtime>, ILicense<TimeManagementLicense>, ISequenceable
  13. {
  14. [EntityRelationship(DeleteAction.Cascade)]
  15. public OvertimeLink Overtime { get; set; }
  16. [TextBoxEditor(Visible = Visible.Default)]
  17. [EditorSequence(1)]
  18. public string Description { get; set; }
  19. [EnumLookupEditor(typeof(OvertimeIntervalType), Visible = Visible.Default)]
  20. [EditorSequence(2)]
  21. public OvertimeIntervalType IntervalType { get; set; }
  22. [TimeOfDayEditor(Visible = Visible.Default)]
  23. [EditorSequence(3)]
  24. public TimeSpan Interval { get; set; }
  25. [TextBoxEditor(Visible = Visible.Default)]
  26. [EditorSequence(4)]
  27. public string PayrollID { get; set; }
  28. [CheckBoxEditor(Visible = Visible.Default)]
  29. [EditorSequence(5)]
  30. public bool IsPaid { get; set; }
  31. [DoubleEditor(Visible = Visible.Default)]
  32. [EditorSequence(6)]
  33. public double Multiplier { get; set; }
  34. [NullEditor]
  35. public long Sequence { get; set; }
  36. public OvertimeInterval()
  37. {
  38. Overtime = new OvertimeLink();
  39. Description = "";
  40. PayrollID = "";
  41. IsPaid = true;
  42. Multiplier = 1.0;
  43. IntervalType = OvertimeIntervalType.Interval;
  44. }
  45. }
  46. }