using InABox.Core; namespace Comal.Classes { public class JobFinancialLookups : EntityLookup, ILookupDefinition { public Filter DefineFilter(InvoiceLine[] items) { if (items == null) return new Filter(x => x.ID).IsEqualTo(CoreUtils.FullGuid); var jobid = CoreUtils.FullGuid; foreach (var item in items) { if (jobid == CoreUtils.FullGuid) jobid = item.InvoiceLink.JobLink.ID; if (item.InvoiceLink.JobLink.ID != jobid) return new Filter(x => x.ID).IsEqualTo(CoreUtils.FullGuid); } return new Filter(x => x.Job.ID).IsEqualTo(jobid).And(x => x.Status.Approved).IsEqualTo(true); } Columns ILookupDefinition.DefineFilterColumns() => new Columns(x => x.InvoiceLink.JobLink.ID); public override Columns DefineColumns() { return new Columns().Default(); } public override Filter DefineFilter() { return new Filter(x => x.ID).IsEqualTo(CoreUtils.FullGuid); } public override SortOrder DefineSortOrder() { return new SortOrder(x => x.Number); } } }