using System; using InABox.Core; namespace Comal.Classes { public class ProductLookups : EntityLookup, ILookupDefinition, ILookupDefinition { // EmployeeProduct records also require a Default Location to pull from public Filter DefineFilter(EmployeeProduct[] items) { return DefineFilter().And(x => x.NonStock).IsEqualTo(false).And(x => x.DefaultLocation).LinkValid(); } Columns ILookupDefinition.DefineFilterColumns() => new Columns(); // You should not be able to create a stock movement for a non-stock item public Filter DefineFilter(StockMovement[] items) { return DefineFilter().And(x => x.NonStock).IsEqualTo(false); } Columns ILookupDefinition.DefineFilterColumns() => new Columns(); public override Columns DefineColumns() { return new Columns( x => x.ID, x => x.Code, x => x.Name ); } public override Filter DefineFilter() { return new Filter(x => x.Expired).IsEqualTo(DateTime.MinValue); } public override SortOrder DefineSortOrder() { return new SortOrder(x => x.Code); } } }