BillApprovalSet.cs 1.5 KB

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