Browse Source

Constraining StockHoldings to selected jobs or free stock.

Kenric Nugteren 1 year ago
parent
commit
f497eb72a0
1 changed files with 12 additions and 3 deletions
  1. 12 3
      prs.desktop/Panels/StockSummary/StockSummaryGrid.cs

+ 12 - 3
prs.desktop/Panels/StockSummary/StockSummaryGrid.cs

@@ -287,7 +287,7 @@ public class StockSummaryGrid : DynamicDataGrid<StockSummary>, IDataModelSource
                 x=>x.Dimensions.UnitSize,
                 unitsize,
                 null,
-                null,
+                StockHoldingFilter(),
                 (row) => row.Get<StockHolding,double>(x=>x.Units) != 0.0F
             );               
         }
@@ -431,9 +431,18 @@ public class StockSummaryGrid : DynamicDataGrid<StockSummary>, IDataModelSource
         return total;
     }
 
+    private Filter<StockHolding> StockHoldingFilter()
+    {
+        var stockHoldingFilter = new Filter<StockHolding>(x => x.Job.ID).InList(JobIDs)
+            .Or(x => x.Job.ID).IsEqualTo(Guid.Empty);
+
+        return new Filter<StockHolding>(x => x.Units).IsNotEqualTo(0.0)
+            .And(stockHoldingFilter);
+    }
+
     private Filter<PurchaseOrderItem> PurchaseOrderItemFilter()
     {
-        var poJobFilter =  new Filter<PurchaseOrderItem>(x => x.Job.ID).InList(JobIDs)
+        var poJobFilter = new Filter<PurchaseOrderItem>(x => x.Job.ID).InList(JobIDs)
             .Or(x => x.Job.ID).IsEqualTo(Guid.Empty);
 
         return new Filter<PurchaseOrderItem>(x => x.ReceivedDate).IsEqualTo(DateTime.MinValue)
@@ -460,7 +469,7 @@ public class StockSummaryGrid : DynamicDataGrid<StockSummary>, IDataModelSource
             MultiQuery query = new MultiQuery();
             query.Add<StockHolding>(
                 new Filter<StockHolding>(x => x.Product.ID).InList(pids)
-                    .And(x => x.Units).IsNotEqualTo(0.0),
+                    .And(StockHoldingFilter()),
                 new Columns<StockHolding>(x => x.Product.ID)
                     .Add(x => x.Style.ID)
                     .Add(x => x.Dimensions.UnitSize)