BillPayment.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using System;
  2. using System.ComponentModel;
  3. using InABox.Core;
  4. namespace Comal.Classes
  5. {
  6. [UserTracking(typeof(Bill))]
  7. public class BillPayment : Entity, IPersistent, IRemotable, IManyToMany<Payment, Bill>, ILicense<AccountsPayableLicense>
  8. {
  9. [EntityRelationship(DeleteAction.SetNull)]
  10. public BillLink Bill { get; set; }
  11. [Obsolete("Replaced by Bill")]
  12. public BillLink BillLink
  13. {
  14. get => Bill;
  15. set { }
  16. }
  17. [EntityRelationship(DeleteAction.Cascade)]
  18. public PaymentLink Payment { get; set; }
  19. [Obsolete("Replaced by Payment")]
  20. public PaymentLink PaymentLink
  21. {
  22. get => Payment;
  23. set { }
  24. }
  25. [CurrencyEditor]
  26. public double Amount { get; set; }
  27. protected override void Init()
  28. {
  29. base.Init();
  30. Bill.PropertyEdited += BillLinkChanged;
  31. }
  32. private void BillLinkChanged(object sender, PropertyChangedEventArgs e)
  33. {
  34. if (e.PropertyName.Equals("Balance"))
  35. Amount = Bill.Balance;
  36. }
  37. }
  38. }