| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | 
							- using System;
 
- using System.Linq;
 
- using InABox.Core;
 
- namespace Comal.Classes
 
- {
 
-     public class EmployeeLookups : EntityLookup<Employee>, ILookupDefinition<Employee, Kanban>, ILookupDefinition<Employee, Employee>
 
-     {
 
-         public Filter<Employee> DefineFilter(Employee[] items)
 
-         {
 
-             var result = DefineFilter();
 
-             result.Ands.Add(new Filter<Employee>(x => x.ID).NotInList(items.Select(x => x.ID).ToArray()));
 
-             return result;
 
-         }
 
-         Columns<Employee> ILookupDefinition<Employee, Employee>.DefineFilterColumns()
 
-             => new Columns<Employee>(x => x.ID);
 
-         public Filter<Employee> DefineFilter(Kanban[] items)
 
-         {
 
-             var result = DefineFilter();
 
-             result.Ands.Add(new Filter<Employee>(x => x.CanAllocateTasks).IsEqualTo(true));
 
-             return result;
 
-         }
 
-         Columns<Kanban> ILookupDefinition<Employee, Kanban>.DefineFilterColumns()
 
-             => new Columns<Kanban>();
 
-         public override Columns<Employee> DefineColumns()
 
-         {
 
-             return new Columns<Employee>(
 
-                 x => x.ID,
 
-                 x => x.Name
 
-             );
 
-         }
 
-         public override Filter<Employee> DefineFilter()
 
-         {
 
-             var filter = new Filter<Employee>(x => x.ID).IsNotEqualTo(Guid.Empty);
 
-             filter.Ands.Add(new Filter<Employee>(x => x.StartDate).IsEqualTo(DateTime.MinValue).Or(x => x.StartDate)
 
-                 .IsLessThanOrEqualTo(FilterConstant.Today));
 
-             filter.Ands.Add(new Filter<Employee>(x => x.FinishDate).IsEqualTo(DateTime.MinValue).Or(x => x.FinishDate)
 
-                 .IsGreaterThanOrEqualTo(FilterConstant.Today));
 
-             return filter;
 
-         }
 
-         public override SortOrder<Employee> DefineSortOrder()
 
-         {
 
-             return new SortOrder<Employee>(x => x.Name);
 
-         }
 
-     }
 
- }
 
 
  |