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