BillPayment.cs 857 B

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