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);
- }
- }
- }
|