using InABox.Core; using System; using System.Linq; namespace Comal.Classes { public class KanbanFormLookups : DigitalFormInstanceLookups { } public class DigitalFormKanbanLookup : LookupDefinitionGenerator { public override Filter DefineFilter(Kanban[] items) { var filter = LookupFactory.DefineLookupFilter(x => x.Form, Array.Empty()) ?? new Filter().All(); foreach (var kanban in items) { filter.And(x => x.ID).InQuery( new Filter(x => x.Employee.ID).IsEqualTo(kanban.EmployeeLink.ID), x => x.Form.ID); } return filter; } public override Columns DefineFilterColumns() => Columns.None().Add(x => x.EmployeeLink.ID); } public class DigitalFormKanbanFormLookup : LookupDefinitionGenerator { public override Filter DefineFilter(KanbanForm[] items) { return new Filter(x => x.Active).IsEqualTo(true).And(x => x.AppliesTo).IsEqualTo("Kanban"); } public override Columns DefineFilterColumns() => Columns.None(); } }