using InABox.Core; namespace Comal.Classes { [UserTracking(typeof(Invoice))] public class InvoiceLine : Entity, IPersistent, IRemotable, ISequenceable, IOneToMany, ITaxable, ILicense { [EntityRelationship(DeleteAction.Cascade)] public InvoiceLink InvoiceLink { get; set; } public JobFinancialLink Financial { get; set; } [MemoEditor] public string Description { get; set; } [CurrencyEditor(Editable = Editable.Hidden)] public double Amount { get; set; } public TaxCodeLink TaxCode { get; set; } [NullEditor] public long Sequence { 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(); InvoiceLink = new InvoiceLink(); TaxCode = new TaxCodeLink(this); LinkProperty(x => x.Rate, x => x.TaxRate); Financial = new JobFinancialLink(); } public static SortOrder SortOrder() { return new SortOrder(x => x.Sequence); } } }