InvoiceReceipt.cs 1.1 KB

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