| 123456789101112131415161718192021222324252627282930313233343536373839404142 | using InABox.Core;namespace Comal.Classes{    public class JobFinancialLookups : EntityLookup<JobFinancial>, ILookupDefinition<JobFinancial, InvoiceLine>    {        public Filter<JobFinancial> DefineFilter(InvoiceLine[] items)        {            if (items == null)                return new Filter<JobFinancial>(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<JobFinancial>(x => x.ID).IsEqualTo(CoreUtils.FullGuid);            }            return new Filter<JobFinancial>(x => x.Job.ID).IsEqualTo(jobid).And(x => x.Status.Approved).IsEqualTo(true);        }        Columns<InvoiceLine> ILookupDefinition<JobFinancial, InvoiceLine>.DefineFilterColumns()            => new Columns<InvoiceLine>(x => x.InvoiceLink.JobLink.ID);        public override Columns<JobFinancial> DefineColumns()        {            return new Columns<JobFinancial>().Default();        }        public override Filter<JobFinancial> DefineFilter()        {            return new Filter<JobFinancial>(x => x.ID).IsEqualTo(CoreUtils.FullGuid);        }        public override SortOrder<JobFinancial> DefineSortOrder()        {            return new SortOrder<JobFinancial>(x => x.Number);        }    }}
 |