BillLine.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System;
  2. using InABox.Core;
  3. namespace Comal.Classes
  4. {
  5. public class BillLineLink : EntityLink<BillLine>
  6. {
  7. [NullEditor]
  8. public override Guid ID { get; set; }
  9. }
  10. [UserTracking(typeof(Bill))]
  11. public class BillLine : Entity, IPersistent, IRemotable, IOneToMany<Bill>, ITaxable, ILicense<AccountsPayableLicense>
  12. {
  13. [EntityRelationship(DeleteAction.Cascade)]
  14. [NullEditor]
  15. public BillLink BillLink { get; set; }
  16. [EntityRelationship(DeleteAction.SetNull)]
  17. [NullEditor]
  18. public PurchaseOrderItemLink OrderItem { get; set; }
  19. [MemoEditor]
  20. public string Description { get; set; }
  21. public TaxCodeLink TaxCode { get; set; }
  22. [DoubleEditor(Summary = Summary.Sum)]
  23. public double ExTax { get; set; }
  24. [DoubleEditor(Editable = Editable.Hidden)]
  25. public double TaxRate { get; set; }
  26. [DoubleEditor(Editable = Editable.Hidden, Summary = Summary.Sum)]
  27. public double Tax { get; set; }
  28. [DoubleEditor(Summary = Summary.Sum)]
  29. public double IncTax { get; set; }
  30. protected override void Init()
  31. {
  32. base.Init();
  33. BillLink = new BillLink();
  34. TaxCode = new TaxCodeLink(this);
  35. LinkProperty<TaxCodeLink, BillLine>(x => x.Rate, x => x.TaxRate);
  36. OrderItem = new PurchaseOrderItemLink();
  37. }
  38. }
  39. }