Переглянути джерело

Fixed the loading of data in product sub panels when not selected any product.

Kenric Nugteren 1 рік тому
батько
коміт
647145ccad

+ 8 - 1
prs.desktop/Panels/Products/Master List/ProductCustomersControl.cs

@@ -18,7 +18,14 @@ namespace PRSDesktop
 
         protected override void Reload(Filters<CustomerProduct> criteria, Columns<CustomerProduct> columns, ref SortOrder<CustomerProduct>? sort, Action<CoreTable?, Exception?> action)
         {
-            criteria.Add(new Filter<CustomerProduct>(x => x.Product.ID).IsEqualTo(Product.ID));
+            if (Product.ID == Guid.Empty)
+            {
+                criteria.Add(new Filter<CustomerProduct>().None());
+            }
+            else
+            {
+                criteria.Add(new Filter<CustomerProduct>(x => x.Product.ID).IsEqualTo(Product.ID));
+            }
             base.Reload(criteria, columns, ref sort, action);
         }
 

+ 8 - 1
prs.desktop/Panels/Products/Master List/ProductDocumentControl.cs

@@ -43,7 +43,14 @@ namespace PRSDesktop
 
         protected override void Reload(Filters<ProductDocument> criteria, Columns<ProductDocument> columns, ref SortOrder<ProductDocument>? sort, Action<CoreTable?, Exception?> action)
         {
-            criteria.Add(new Filter<ProductDocument>(x => x.EntityLink.ID).IsEqualTo(Product.ID));
+            if (Product.ID == Guid.Empty)
+            {
+                criteria.Add(new Filter<ProductDocument>().None());
+            }
+            else
+            {
+                criteria.Add(new Filter<ProductDocument>(x => x.EntityLink.ID).IsEqualTo(Product.ID));
+            }
             base.Reload(criteria, columns, ref sort, action);
         }
 

+ 8 - 1
prs.desktop/Panels/Products/Master List/ProductHoldingControl.cs

@@ -25,7 +25,14 @@ namespace PRSDesktop
 
         protected override void Reload(Filters<StockHolding> criteria, Columns<StockHolding> columns, ref SortOrder<StockHolding>? sort, Action<CoreTable?, Exception?> action)
         {
-            criteria.Add(new Filter<StockHolding>(x => x.Product.ID).IsEqualTo(Product.ID));
+            if(Product.ID == Guid.Empty)
+            {
+                criteria.Add(new Filter<StockHolding>().None());
+            }
+            else
+            {
+                criteria.Add(new Filter<StockHolding>(x => x.Product.ID).IsEqualTo(Product.ID));
+            }
             base.Reload(criteria, columns, ref sort, action);
         }
 

+ 8 - 1
prs.desktop/Panels/Products/Master List/ProductKitControl.cs

@@ -21,7 +21,14 @@ namespace PRSDesktop
 
         protected override void Reload(Filters<KitProduct> criteria, Columns<KitProduct> columns, ref SortOrder<KitProduct>? sort, Action<CoreTable?, Exception?> action)
         {
-            criteria.Add(new Filter<KitProduct>(x => x.Product.ID).IsEqualTo(Product.ID));
+            if (Product.ID == Guid.Empty)
+            {
+                criteria.Add(new Filter<KitProduct>().None());
+            }
+            else
+            {
+                criteria.Add(new Filter<KitProduct>(x => x.Product.ID).IsEqualTo(Product.ID));
+            }
             base.Reload(criteria, columns, ref sort, action);
         }
     }

+ 8 - 1
prs.desktop/Panels/Products/Master List/ProductMovementSummary.cs

@@ -23,7 +23,14 @@ namespace PRSDesktop
         protected override void Reload(Filters<StockMovement> criteria, Columns<StockMovement> columns, ref SortOrder<StockMovement>? sort,
             Action<CoreTable?, Exception?> action)
         {
-            criteria.Add(new Filter<StockMovement>(x => x.Product.ID).IsEqualTo(Product.ID));
+            if (Product.ID == Guid.Empty)
+            {
+                criteria.Add(new Filter<StockMovement>().None());
+            }
+            else
+            {
+                criteria.Add(new Filter<StockMovement>(x => x.Product.ID).IsEqualTo(Product.ID));
+            }
             criteria.Add(new Filter<StockMovement>(x => x.System).IsEqualTo(false));
             base.Reload(criteria, columns, ref sort, action);
         }

+ 8 - 1
prs.desktop/Panels/Products/Master List/ProductOrderSummaryControl.cs

@@ -26,7 +26,14 @@ public class ProductOrderSummaryControl : DynamicDataGrid<PurchaseOrderItem>, IP
     protected override void Reload(Filters<PurchaseOrderItem> criteria, Columns<PurchaseOrderItem> columns, ref SortOrder<PurchaseOrderItem>? sort,
         Action<CoreTable?, Exception?> action)
     {
-        criteria.Add(new Filter<PurchaseOrderItem>(x => x.Product.ID).IsEqualTo(Product.ID));
+        if (Product.ID == Guid.Empty)
+        {
+            criteria.Add(new Filter<PurchaseOrderItem>().None());
+        }
+        else
+        {
+            criteria.Add(new Filter<PurchaseOrderItem>(x => x.Product.ID).IsEqualTo(Product.ID));
+        }
         base.Reload(criteria, columns, ref sort, action);
     }
 }

+ 8 - 1
prs.desktop/Panels/Products/Master List/ProductSuppliersControl.cs

@@ -88,7 +88,14 @@ namespace PRSDesktop
 
         protected override void Reload(Filters<SupplierProduct> criteria, Columns<SupplierProduct> columns, ref SortOrder<SupplierProduct>? sort, Action<CoreTable?, Exception?> action)
         {
-            criteria.Add(new Filter<SupplierProduct>(x => x.Product).LinkValid(Product.ID));
+            if (Product.ID == Guid.Empty)
+            {
+                criteria.Add(new Filter<SupplierProduct>().None());
+            }
+            else
+            {
+                criteria.Add(new Filter<SupplierProduct>(x => x.Product.ID).IsEqualTo(Product.ID));
+            }
             base.Reload(criteria, columns, ref sort, action);
         }