| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | 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;        }        public Filter<Employee> DefineFilter(Kanban[] items)        {            var result = DefineFilter();            result.Ands.Add(new Filter<Employee>(x => x.CanAllocateTasks).IsEqualTo(true));            return result;        }        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(DateTime.Today));            filter.Ands.Add(new Filter<Employee>(x => x.FinishDate).IsEqualTo(DateTime.MinValue).Or(x => x.FinishDate)                .IsGreaterThanOrEqualTo(DateTime.Today));            return filter;        }        public override SortOrder<Employee> DefineSortOrder()        {            return new SortOrder<Employee>(x => x.Name);        }    }}
 |