using System; using System.Linq; using InABox.Core; namespace Comal.Classes { public class JobStageLookups : EntityLookup, ILookupDefinition, ILookupDefinition, ILookupDefinition, ILookupDefinition { public Filter DefineFilter(Job[] items) { if (items.Length == 1) return new Filter(x => x.Job.ID).IsEqualTo(items.First().ID).And(x => x.IsHeader).IsEqualTo(false); return new Filter(x => x.ID).IsEqualTo(Guid.Empty); } Columns ILookupDefinition.DefineFilterColumns() => new Columns(x => x.ID); public Filter DefineFilter(JobStage[] items) { if (items.Length == 1) return new Filter(x => x.Job.ID).IsEqualTo(items.First().Job.ID).And(x => x.IsHeader).IsEqualTo(false); return new Filter(x => x.ID).IsEqualTo(Guid.Empty); } Columns ILookupDefinition.DefineFilterColumns() => new Columns(x => x.Job.ID); public Filter DefineFilter(ManufacturingPacket[] items) { if (items.Length == 1) return new Filter(x => x.Job.ID).IsEqualTo(items.First().SetoutLink.JobLink.ID).And(x => x.IsHeader).IsEqualTo(false); return new Filter(x => x.ID).IsEqualTo(Guid.Empty); } Columns ILookupDefinition.DefineFilterColumns() => new Columns(x => x.SetoutLink.JobLink.ID); public Filter DefineFilter(Setout[] items) { if (items.Length == 1) return new Filter(x => x.Job.ID).IsEqualTo(items.First().JobLink.ID).And(x => x.IsHeader).IsEqualTo(false); return new Filter(x => x.ID).IsEqualTo(Guid.Empty); } Columns ILookupDefinition.DefineFilterColumns() => new Columns(x => x.JobLink.ID); public override Filter DefineFilter() { return new Filter(x => x.ID).IsEqualTo(Guid.Empty); } public override Columns DefineColumns() { return new Columns( x => x.ID, x => x.Name ); } public override SortOrder DefineSortOrder() { return new SortOrder(x => x.Sequence); } } }