123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- using System;
- using InABox.Core;
- namespace Comal.Classes
- {
- public class BillLineLink : EntityLink<BillLine>
- {
- [NullEditor]
- public override Guid ID { get; set; }
- }
- [UserTracking(typeof(Bill))]
- public class BillLine : Entity, IPersistent, IRemotable, IOneToMany<Bill>, ITaxable, ILicense<AccountsPayableLicense>, IPostableFragment<Bill>
- {
- [EntityRelationship(DeleteAction.Cascade)]
- [NullEditor]
- public BillLink BillLink { get; set; }
- [EntityRelationship(DeleteAction.SetNull)]
- [EditorSequence(1)]
- public PurchaseOrderItemLink OrderItem { get; set; }
- [MemoEditor]
- [EditorSequence(2)]
- public string Description { get; set; }
-
- [EditorSequence(3)]
- public PurchaseGLCodeLink PurchaseGL { get; set; }
-
- [EditorSequence(4)]
- public CostCentreLink CostCentre { get; set; }
- [CurrencyEditor(Summary = Summary.Sum)]
- [EditorSequence(5)]
- public double ExTax { get; set; }
- [RequiredColumn]
- [EditorSequence(6)]
- public TaxCodeLink TaxCode { get; set; }
- [DoubleEditor(Editable = Editable.Hidden)]
- public double TaxRate { get; set; }
- [CurrencyEditor(Editable = Editable.Hidden, Summary = Summary.Sum)]
- public double Tax { get; set; }
- [CurrencyEditor(Summary = Summary.Sum)]
- [EditorSequence(7)]
- public double IncTax { get; set; }
- [NullEditor]
- public string PostedReference { get; set; }
-
- protected override void Init()
- {
- base.Init();
- BillLink = new BillLink();
- TaxCode = new TaxCodeLink(() => this);
-
- OrderItem = new PurchaseOrderItemLink(() => this);
- CostCentre = new CostCentreLink(() => this);
- PurchaseGL = new PurchaseGLCodeLink(() => this);
- }
- static BillLine()
- {
-
- LinkedProperties.Register<BillLine, PurchaseOrderItemLink, double>(x => x.OrderItem, x => x.ExTax,
- x => x.ExTax);
- LinkedProperties.Register<BillLine, PurchaseGLCodeLink, Guid>(x => x.OrderItem.PurchaseGL, x => x.ID,
- x => x.PurchaseGL.ID);
-
- LinkedProperties.Register<BillLine, CostCentreLink, Guid>(x => x.OrderItem.CostCentre, x => x.ID,
- x => x.CostCentre.ID);
-
- LinkedProperties.Register<BillLine, TaxCodeLink, Guid>(x => x.OrderItem.TaxCode, x => x.ID,
- x => x.TaxCode.ID);
- LinkedProperties.Register<BillLine, TaxCodeLink, String>(x => x.OrderItem.TaxCode, x => x.Code,
- x => x.TaxCode.Code);
- LinkedProperties.Register<BillLine, TaxCodeLink, String>(x => x.OrderItem.TaxCode, x => x.Description,
- x => x.TaxCode.Description);
- LinkedProperties.Register<BillLine, TaxCodeLink, double>(x => x.OrderItem.TaxCode, x => x.Rate,
- x => x.TaxCode.Rate);
-
- LinkedProperties.Register<BillLine, PurchaseOrderItemLink, double>(x => x.OrderItem, x => x.Tax,
- x => x.Tax);
-
- LinkedProperties.Register<BillLine, PurchaseOrderItemLink, double>(x => x.OrderItem, x => x.IncTax,
- x => x.IncTax);
- LinkedProperties.Register<BillLine, TaxCodeLink, double>(x => x.TaxCode, x => x.Rate, x => x.TaxRate);
- }
- }
- }
|