LeaveRequestApprovalSet.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using System;
  2. using AutoProperties;
  3. using InABox.Core;
  4. namespace Comal.Classes
  5. {
  6. public class LeaveRequestApprovalSet : Entity, IRemotable, IPersistent, ILicense<HumanResourcesLicense>
  7. {
  8. [UniqueCodeEditor]
  9. [EditorSequence(1)]
  10. public string Code { get; set; }
  11. [EditorSequence(2)]
  12. public string Description { get; set; }
  13. [EditorSequence(3)]
  14. [ScriptEditor]
  15. public string ApprovalSetUpdateScript { get; set; }
  16. [InterceptIgnore]
  17. [DoNotPersist]
  18. [DoNotSerialize]
  19. public static string UpdateApprovalsMethodName => "UpdateLeaveApprovals";
  20. [Editable(Editable.Hidden)]
  21. public bool IsDefault { get; set; }
  22. public static string DefaultApprovalSetUpdateScript()
  23. {
  24. return @"
  25. using Comal.Classes;
  26. public class Module
  27. {
  28. public void " + UpdateApprovalsMethodName + @"(LeaveRequest leave, List<LeaveRequestApproval> approvals)
  29. {
  30. // Update the 'approvals' list whenever the 'bill' is updated.
  31. }
  32. }";
  33. }
  34. static LeaveRequestApprovalSet()
  35. {
  36. DefaultColumns.Add<LeaveRequestApprovalSet>(x => x.Code);
  37. DefaultColumns.Add<LeaveRequestApprovalSet>(x => x.Description);
  38. }
  39. }
  40. public class LeaveRequestApprovalSetLink : EntityLink<LeaveRequestApprovalSet>
  41. {
  42. [RequiredColumn]
  43. [LookupEditor(typeof(LeaveRequestApprovalSet))]
  44. public override Guid ID { get; set; }
  45. public string Code { get; set; }
  46. public string Description { get; set; }
  47. }
  48. }