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