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()
- => new Columns<TimeSheet>(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()
- => new Columns<TimeSheetForm>();
- }
- }
|