Browse Source

Added allocated column to StockHolding

Kenric Nugteren 1 year ago
parent
commit
040a55e5c1
1 changed files with 19 additions and 0 deletions
  1. 19 0
      prs.classes/Entities/Stock/StockHolding/StockHolding.cs

+ 19 - 0
prs.classes/Entities/Stock/StockHolding/StockHolding.cs

@@ -85,6 +85,11 @@ namespace Comal.Classes
         [DoubleEditor(Editable = Editable.Disabled, Summary = Summary.Sum)]
         [EditorSequence(10)]
         public double Available { get; set; }
+
+        [Formula(typeof(StockHoldingAllocatedFormula))]
+        [DoubleEditor(Editable = Editable.Disabled, Summary = Summary.Sum)]
+        [EditorSequence(11)]
+        public double Allocated { get; set; }
         
         [Aggregate(typeof(StockHoldingLastStocktake))]
         [DateEditor(Editable = Editable.Disabled)]
@@ -118,6 +123,20 @@ namespace Comal.Classes
         }
     }
 
+    internal class StockHoldingAllocatedFormula : IFormula<StockHolding, double>
+    {
+        public Expression<Func<StockHolding, double>> Value => x => x.Qty;
+
+        public FormulaOperator Operator => FormulaOperator.Subtract;
+
+        public Expression<Func<StockHolding, double>>[] Modifiers => new Expression<Func<StockHolding, double>>[]
+        {
+            x => x.Available
+        };
+
+        public FormulaType Type => FormulaType.Virtual;
+    }
+
     public static class StockHoldingExtensions
     {
         /// <summary>