using InABox.Core; using System; namespace Comal.Classes { public class LeaveRequestFormLookups : DigitalFormInstanceLookups { } public class DigitalFormLeaveRequestLookup : LookupDefinitionGenerator { public override Filter DefineFilter(LeaveRequest[] items) { var filter = LookupFactory.DefineLookupFilter(x => x.Form, Array.Empty()) ?? new Filter().All(); 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; } public override Columns DefineFilterColumns() => new Columns(x => x.EmployeeLink.ID); } public class DigitalFormLeaveRequestFormLookup : LookupDefinitionGenerator { public override Filter DefineFilter(LeaveRequestForm[] items) { return new Filter(x => x.Active).IsEqualTo(true).And(x => x.AppliesTo) .IsEqualTo("LeaveRequest"); } public override Columns DefineFilterColumns() => new Columns(); } }