using InABox.Core; using System; namespace Comal.Classes { public class LeaveRequestFormLookups : ILookupDefinition, ILookupDefinition { public Filter DefineFilter(LeaveRequestForm[] items) { return new Filter(x => x.Active).IsEqualTo(true).And(x => x.AppliesTo).IsEqualTo("LeaveRequest"); } Columns ILookupDefinition.DefineFilterColumns() => new Columns(); public Filter DefineFilter(LeaveRequest[] items) { var filter = DefineFilter(Array.Empty()); foreach (var leaveRequest in items) { filter.And(x => x.ID).InQuery( new Filter(x => x.Employee.ID).IsEqualTo(leaveRequest.EmployeeLink.ID), x => x.Form.ID); } return filter; } Columns ILookupDefinition.DefineFilterColumns() => new Columns(x => x.EmployeeLink.ID); } }