InvoiceReceipt.cs 1.3 KB

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