| 123456789101112131415161718192021222324252627282930313233343536373839404142 | using InABox.Core;using System;namespace Comal.Classes{    public class LeaveRequestFormLookups : DigitalFormInstanceLookups<LeaveRequest, LeaveRequestLink, LeaveRequestForm> { }    public class DigitalFormLeaveRequestLookup : LookupDefinitionGenerator<DigitalForm, LeaveRequest>    {        public override Filter<DigitalForm> DefineFilter(LeaveRequest[] items)        {            var filter =                LookupFactory.DefineLookupFilter<LeaveRequestForm, DigitalForm, DigitalFormLink>(x => x.Form,                    Array.Empty<LeaveRequestForm>())                ?? new Filter<DigitalForm>().All();            foreach (var leaveRequest in items)            {                filter.And(x => x.ID).InQuery(                    new Filter<EmployeeDigitalForm>(x => x.Employee.ID).IsEqualTo(leaveRequest.EmployeeLink.ID),                    x => x.Form.ID);            }            return filter;        }        public override Columns<LeaveRequest> DefineFilterColumns()            => Columns.None<LeaveRequest>().Add(x => x.EmployeeLink.ID);    }    public class DigitalFormLeaveRequestFormLookup : LookupDefinitionGenerator<DigitalForm, LeaveRequestForm>    {        public override Filter<DigitalForm> DefineFilter(LeaveRequestForm[] items)        {            return new Filter<DigitalForm>(x => x.Active).IsEqualTo(true).And(x => x.AppliesTo)                .IsEqualTo("LeaveRequest");        }        public override Columns<LeaveRequestForm> DefineFilterColumns()            => Columns.None<LeaveRequestForm>();    }}
 |