12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- using InABox.Core;
- using System;
- namespace Comal.Classes
- {
- public class EmployeeForm : EntityForm<Employee, EmployeeLink, EmployeeForm>, IDigitalForm<Employee>
- {
- public override string AutoIncrementPrefix() => "EF";
- }
- public class DigitalFormEmployeeLookup : LookupDefinitionGenerator<DigitalForm, Employee>
- {
- public override Filter<DigitalForm> DefineFilter(Employee[] items)
- {
- var filter = LookupFactory.DefineLookupFilter<EmployeeForm, DigitalForm, DigitalFormLink>(x => x.Form, Array.Empty<EmployeeForm>())
- ?? new Filter<DigitalForm>().All();
- foreach (var employee in items)
- {
- filter.And(x => x.ID).InQuery(
- new Filter<EmployeeDigitalForm>(x => x.Employee.ID).IsEqualTo(employee.ID),
- x => x.Form.ID);
- }
- return filter;
- }
- public override Columns<Employee> DefineFilterColumns()
- => new Columns<Employee>(x => x.ID);
- }
- public class DigitalFormEmployeeFormLookup : LookupDefinitionGenerator<DigitalForm, EmployeeForm>
- {
- public override Filter<DigitalForm> DefineFilter(EmployeeForm[] items)
- {
- return new Filter<DigitalForm>(x => x.Active).IsEqualTo(true).And(x => x.AppliesTo).IsEqualTo("Employee");
- }
- public override Columns<EmployeeForm> DefineFilterColumns()
- => new Columns<EmployeeForm>();
- }
- }
|