|  | @@ -238,24 +238,36 @@ public partial class ReservationManagementPurchasing : UserControl
 | 
	
		
			
				|  |  |          CreatePOEditor();
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    public void DropItems(IEnumerable<CoreRow> rows)
 | 
	
		
			
				|  |  | +    public void DropItems(IList<CoreRow> rows)
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  |          var page = Editor.Pages.OfType<SupplierPurchaseOrderItemOneToMany>().First();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        if(CreatePOItemsFromRequiItems(rows.ToObjects<JobRequisitionItem>(), page.Items))
 | 
	
		
			
				|  |  | +        if(CreatePOItemsFromRequiItems(rows.ToArray<JobRequisitionItem>(), page.Items))
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              page.Refresh(false, true);
 | 
	
		
			
				|  |  |              page.DoChanged();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    private bool CreatePOItemsFromRequiItems(IEnumerable<JobRequisitionItem> selected, List<PurchaseOrderItem> items)
 | 
	
		
			
				|  |  | +    private bool CreatePOItemsFromRequiItems(IList<JobRequisitionItem> selected, List<PurchaseOrderItem> items)
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  | +        // These columns probably are already there, but if they aren't, let's load them.
 | 
	
		
			
				|  |  | +        Client.EnsureColumns(selected,
 | 
	
		
			
				|  |  | +            Columns.None<JobRequisitionItem>()
 | 
	
		
			
				|  |  | +                .Add(x => x.Qty)
 | 
	
		
			
				|  |  | +                .Add(x => x.Issued)
 | 
	
		
			
				|  |  | +                .Add(x => x.InStock)
 | 
	
		
			
				|  |  | +                .Add(x => x.ID)
 | 
	
		
			
				|  |  | +                .Add(x => x.Product.Name)
 | 
	
		
			
				|  |  | +                .Add(x => x.Product.ID)
 | 
	
		
			
				|  |  | +                .Add(x => x.Style.ID)
 | 
	
		
			
				|  |  | +                .AddDimensionsColumns(x => x.Dimensions, Dimensions.ColumnsType.Data));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          var changed = false;
 | 
	
		
			
				|  |  |          foreach (var jobRequisitionItem in selected)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            // We only want not checked or order required.
 | 
	
		
			
				|  |  | -            if(!jobRequisitionItem.Qty.IsEffectivelyGreaterThan(jobRequisitionItem.InStock))
 | 
	
		
			
				|  |  | +            // We only want stuff which doesn't have enough total stock allocated, which is the InStock and Issued added together.
 | 
	
		
			
				|  |  | +            if(!jobRequisitionItem.Qty.IsEffectivelyGreaterThan(jobRequisitionItem.InStock + jobRequisitionItem.Issued))
 | 
	
		
			
				|  |  |                  continue;
 | 
	
		
			
				|  |  |              
 | 
	
		
			
				|  |  |              // Filter out ones we've already got.
 |