using InABox.Core; using System; namespace Comal.Classes { public class DigitalFormAssignmentLookup : LookupDefinitionGenerator { public override Filter DefineFilter(Assignment[] items) { var filter = LookupFactory.DefineLookupFilter(x => x.Form, Array.Empty()) ?? new Filter().All(); foreach (var assignment in items) { filter.And(x => x.ID).InQuery( new Filter(x => x.Employee.ID).IsEqualTo(assignment.EmployeeLink.ID), x => x.Form.ID); } return filter; } public override Columns DefineFilterColumns() => Columns.None().Add(x => x.EmployeeLink.ID); } public class DigitalFormAssignmentFormLookup : LookupDefinitionGenerator { public override Filter DefineFilter(AssignmentForm[] items) { return new Filter(x => x.Active).IsEqualTo(true).And(x => x.AppliesTo).IsEqualTo("Assignment"); } public override Columns DefineFilterColumns() => Columns.None(); } public class AssignmentFormLookups : DigitalFormInstanceLookups { } }