Prechádzať zdrojové kódy

Added stock movement batch store

Kenric Nugteren 1 rok pred
rodič
commit
0eb525934b
1 zmenil súbory, kde vykonal 31 pridanie a 0 odobranie
  1. 31 0
      prs.stores/StockMovementBatchStore.cs

+ 31 - 0
prs.stores/StockMovementBatchStore.cs

@@ -0,0 +1,31 @@
+using Comal.Classes;
+using Comal.Stores;
+using InABox.Core;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace PRSStores;
+
+public class StockMovementBatchStore : BaseStore<StockMovementBatch>
+{
+    protected override void BeforeDelete(StockMovementBatch entity)
+    {
+        base.BeforeDelete(entity);
+
+        UpdateStockHoldings(entity);
+    }
+
+    private void UpdateStockHoldings(StockMovementBatch entity)
+    {
+        var movements = Provider.Query(
+            new Filter<StockMovement>(x => x.Batch.ID).IsEqualTo(entity.ID),
+            new Columns<StockMovement>(x => x.ID));
+        foreach(var row in movements.Rows)
+        {
+            // We need to do this in before delete, because aotherwise we wont have the data
+            // that we need to pull to properly update the stockholdings
+            StockHoldingStore.UpdateStockHolding(row.Get<StockMovement, Guid>(x => x.ID), StockHoldingStore.Action.Decrease);
+        }
+    }
+}