| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | using System;using System.Linq;using InABox.Core;namespace Comal.Classes{    public class JobITPLookups : EntityLookup<JobITP>, ILookupDefinition<JobITP, JobBillOfMaterialsItem>,        ILookupDefinition<JobITP, ManufacturingPacket>,        ILookupDefinition<JobITP, Assignment>,ILookupDefinition<JobITP,JobDocumentSet>    {        public Filter<JobITP> DefineFilter(Assignment[] items)        {            if (items.Length == 1)                return new Filter<JobITP>(x => x.Job.ID).IsEqualTo(items.First().JobLink.ID);            return DefineFilter();        }                public Filter<JobITP> DefineFilter(JobDocumentSet[] items)        {            Guid id = items.FirstOrDefault()?.Job.ID ?? Guid.Empty;            return new Filter<JobITP>(x => x.Job.ID).IsEqualTo(id);        }        public Columns<JobDocumentSet> DefineFilterColumns()            => new Columns<JobDocumentSet>(x => x.Job.ID);                        Columns<Assignment> ILookupDefinition<JobITP, Assignment>.DefineFilterColumns()            => new Columns<Assignment>(x => x.JobLink.ID);        public Filter<JobITP> DefineFilter(JobBillOfMaterialsItem[] items)        {            if (items.Length == 1)                return new Filter<JobITP>(x => x.Job.ID).IsEqualTo(items.First().Job.ID);            return DefineFilter();        }        Columns<JobBillOfMaterialsItem> ILookupDefinition<JobITP, JobBillOfMaterialsItem>.DefineFilterColumns()            => new Columns<JobBillOfMaterialsItem>(x => x.Job.ID);        public Filter<JobITP> DefineFilter(ManufacturingPacket[] items)        {            if (items.Length == 1)                return new Filter<JobITP>(x => x.Job.ID).IsEqualTo(items.First().SetoutLink.JobLink.ID);            return DefineFilter();        }        Columns<ManufacturingPacket> ILookupDefinition<JobITP, ManufacturingPacket>.DefineFilterColumns()            => new Columns<ManufacturingPacket>(x => x.SetoutLink.JobLink.ID);        public override Columns<JobITP> DefineColumns()        {            return new Columns<JobITP>(                x => x.ID,                x => x.Code,                x => x.Description            );        }        public override Filter<JobITP> DefineFilter()        {            return new Filter<JobITP>(x => x.ID).IsEqualTo(Guid.Empty);        }        public override SortOrder<JobITP> DefineSortOrder()        {            return new SortOrder<JobITP>(x => x.Code);        }    }}
 |