| 12345678910111213141516171819202122232425262728293031323334353637383940414243 | using InABox.Core;using System;namespace Comal.Classes{    public class EmployeeForm : FixedEntityForm<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()            => Columns.None<Employee>().Add(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()            => Columns.None<EmployeeForm>();    }}
 |