using InABox.Core; using System; using System.Collections.Generic; using System.Linq; namespace Comal.Classes { public class PurchaseOrderItemLookups : EntityLookup { public override Columns DefineColumns() { return Columns.None().Add( x => x.ID, x => x.PurchaseOrderLink.PONumber, x => x.Product.Code, x => x.Description, x => x.Qty, x => x.ExTax, x => x.TaxCode.ID, x => x.TaxCode.Code, x => x.TaxCode.Description, x => x.TaxCode.Rate, x => x.TaxRate, x => x.IncTax ); } public override string FormatLookup(Dictionary values, IEnumerable exclude) { return Guid.Equals(values["ID"],Guid.Empty) ? "" : $"{values["PurchaseOrderLink.PONumber"]}: {values["Qty"]} x {values["Description"]}"; } public override Filter? DefineFilter() { return null; } public override SortOrder DefineSortOrder() { return new SortOrder(x => x.PurchaseOrderLink.PONumber).ThenBy(x => x.Created); } public override Columns RequiredColumns() { var result = base.RequiredColumns() .Add(x => x.PurchaseOrderLink.PONumber) .Add(x => x.Qty) .Add(x => x.Cost) .Add(x => x.Product.ID) .Add(x => x.Style.ID) .Add(x => x.Job.ID) .Add(x=>x.ReceivedDate) .Add(x => x.Consignment.ID) .Add(x => x.Consignment.ExTax) .AddDimensionsColumns(x => x.Dimensions, Dimensions.ColumnsType.Data) .Add(x => x.StockLocation.ID); return result; } } }