|  | @@ -1,8 +1,10 @@
 | 
	
		
			
				|  |  |  using InABox.Core;
 | 
	
		
			
				|  |  | +using System;
 | 
	
		
			
				|  |  | +using System.Linq;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  namespace Comal.Classes
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  | -    public class PurchaseOrderItemLookups : EntityLookup<PurchaseOrderItem>
 | 
	
		
			
				|  |  | +    public class PurchaseOrderItemLookups : EntityLookup<PurchaseOrderItem>, ILookupDefinition<PurchaseOrderItem, BillLine>
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  |          public override Columns<PurchaseOrderItem> DefineColumns()
 | 
	
		
			
				|  |  |          {
 | 
	
	
		
			
				|  | @@ -13,11 +15,30 @@ namespace Comal.Classes
 | 
	
		
			
				|  |  |              );
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        public override Filter<PurchaseOrderItem> DefineFilter()
 | 
	
		
			
				|  |  | +        public override Filter<PurchaseOrderItem>? DefineFilter()
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              return null;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        public Filter<PurchaseOrderItem> DefineFilter(BillLine[] items)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            if (!items.Any())
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                return new Filter<PurchaseOrderItem>().None();
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            var supplierID = items.Select(x => x.BillLink.SupplierLink.ID).Distinct().SingleOrDefault();
 | 
	
		
			
				|  |  | +            if(supplierID == Guid.Empty)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                return new Filter<PurchaseOrderItem>().None();
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            return new Filter<PurchaseOrderItem>(x => x.PurchaseOrderLink.SupplierLink.ID).IsEqualTo(supplierID);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        public Columns<BillLine> DefineFilterColumns()
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            return new Columns<BillLine>(x => x.BillLink.SupplierLink.ID);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          public override SortOrder<PurchaseOrderItem> DefineSortOrder()
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              return new SortOrder<PurchaseOrderItem>(x => x.PurchaseOrderLink.PONumber).ThenBy(x => x.Created);
 |