using System; using InABox.Core; namespace Comal.Classes { public class BillLineLink : EntityLink { [NullEditor] public override Guid ID { get; set; } } [UserTracking(typeof(Bill))] public class BillLine : Entity, IPersistent, IRemotable, IOneToMany, ITaxable, ILicense { [EntityRelationship(DeleteAction.Cascade)] [NullEditor] public BillLink BillLink { get; set; } [EntityRelationship(DeleteAction.SetNull)] public PurchaseOrderItemLink OrderItem { get; set; } [MemoEditor] public string Description { get; set; } [RequiredColumn] public TaxCodeLink TaxCode { get; set; } [DoubleEditor(Summary = Summary.Sum)] public double ExTax { get; set; } [DoubleEditor(Editable = Editable.Hidden)] public double TaxRate { get; set; } [DoubleEditor(Editable = Editable.Hidden, Summary = Summary.Sum)] public double Tax { get; set; } [DoubleEditor(Summary = Summary.Sum)] public double IncTax { get; set; } protected override void Init() { base.Init(); BillLink = new BillLink(); TaxCode = new TaxCodeLink(() => this); OrderItem = new PurchaseOrderItemLink(); } static BillLine() { LinkedProperties.Register(x => x.TaxCode, x => x.Rate, x => x.TaxRate); } } }