| 1234567891011121314151617181920212223242526272829303132333435363738394041 | using InABox.Core;using System;namespace Comal.Classes{    public class TimeSheetFormLookups : DigitalFormInstanceLookups<TimeSheet, TimeSheetLink, TimeSheetForm> { }    public class DigitalFormTimeSheetLookup : LookupDefinitionGenerator<DigitalForm, TimeSheet>    {        public override Filter<DigitalForm> DefineFilter(TimeSheet[] items)        {            var filter =                LookupFactory.DefineLookupFilter<TimeSheetForm, DigitalForm, DigitalFormLink>(x => x.Form,                    Array.Empty<TimeSheetForm>())                ?? new Filter<DigitalForm>().All();            foreach (var timeSheet in items)            {                filter.And(x => x.ID).InQuery(                    new Filter<EmployeeDigitalForm>(x => x.Employee.ID).IsEqualTo(timeSheet.EmployeeLink.ID),                    x => x.Form.ID);            }            return filter;        }        public override Columns<TimeSheet> DefineFilterColumns()            => Columns.None<TimeSheet>().Add(x => x.EmployeeLink.ID);    }    public class DigitalFormTimeSheetFormLookup : LookupDefinitionGenerator<DigitalForm, TimeSheetForm>    {        public override Filter<DigitalForm> DefineFilter(TimeSheetForm[] items)        {            return new Filter<DigitalForm>(x => x.Active).IsEqualTo(true).And(x => x.AppliesTo).IsEqualTo("TimeSheet");        }        public override Columns<TimeSheetForm> DefineFilterColumns()            => Columns.None<TimeSheetForm>();    }}
 |