using System; using System.Linq; using InABox.Core; namespace Comal.Classes { public class JobFormLookups : DigitalFormInstanceLookups { } public class DigitalFormJobLookup : LookupDefinitionGenerator { public override Filter DefineFilter(Job[] items) { return new Filter(x => x.Active).IsEqualTo(true).And(x => x.AppliesTo).IsEqualTo("Job"); } public override Columns DefineFilterColumns() => Columns.None(); } public class DigitalFormJobFormLookup : LookupDefinitionGenerator { public override Filter DefineFilter(JobForm[] items) { if (items == null || items.Length != 1) return new Filter(x => x.ID).IsEqualTo(CoreUtils.FullGuid); return new Filter(x => x.ID).InQuery( new Filter(x => x.Job.ID).IsEqualTo(items.First().Parent.ID), x => x.Form.ID); } public override Columns DefineFilterColumns() => Columns.None().Add(x => x.Parent.ID); } }