Pārlūkot izejas kodu

New Template Exclusion

Exclude REST&M template
kparker 4 mēneši atpakaļ
vecāks
revīzija
1e8747b560
1 mainītis faili ar 68 papildinājumiem un 67 dzēšanām
  1. 68 67
      LaborRules.cs

+ 68 - 67
LaborRules.cs

@@ -1,67 +1,68 @@
-using System;
-
-
-namespace ProjectEntryLaborAdjust
-{
-    // ===================== RULE (ALL SETTINGS LIVE HERE) =====================
-    public sealed class L023PmLaborRule : LaborRuleBase
-    {
-        public L023PmLaborRule() : base("L023", "Auto-added PM Labor")
-        {
-            ExcludedBranchCDs.Add("301");
-            ExcludedBranchCDs.Add("112");
-            ExcludedTemplateCDs.Add("ENVIRONMENTAL");
-            ExcludedBillRules.Add("PROGRESS");
-            ProjectDate = new DateTime(2025, 9, 5); // rule applies only to projects created on/after this date
-        }
-
-        // Leave null => use AR Sales Prices (no fixed rate)
-        public override decimal? FixedUnitRate
-        {
-            get { return null; }
-        }
-
-        public override decimal GetHours(decimal jobSize, DateTime? projectCreatedDate)
-        {
-            if (jobSize < 0m) return 0m;
-
-            // Decide matrix by date (unknown => new matrix)
-            var pivot = ProjectDate?.Date;
-            var created = projectCreatedDate?.Date;
-            bool useOldMatrix = pivot.HasValue && created.HasValue && created.Value < pivot.Value;
-
-            if (useOldMatrix)
-            {
-                // ---- OLD MATRIX ----
-                if (jobSize <= 615m) return 0.5m;
-                if (jobSize <= 1000m) return 1.0m;
-                if (jobSize <= 2500m) return 1.5m;
-                if (jobSize <= 5000m) return 3.0m;
-                if (jobSize <= 7500m) return 3.5m;
-                if (jobSize <= 10000m) return 5.0m;
-                if (jobSize <= 25000m) return 6.0m;
-                if (jobSize <= 50000m) return 7.0m;
-                return 10.5m;
-            }
-
-            // ---- NEW MATRIX ---- 
-            if (jobSize <= 616m) return 0.5m;
-            if (jobSize <= 1000m) return 1.0m;
-            if (jobSize <= 2500m) return 2.5m;
-            if (jobSize <= 5000m) return 4.5m;
-            if (jobSize <= 7500m) return 5.0m;
-            if (jobSize <= 10000m) return 7.0m;
-            if (jobSize <= 25000m) return 8.5m;
-            if (jobSize <= 50000m) return 9.5m;
-            return 15.0m;
-        }
-    }
-}
-
-    
-
-
-
-
-
-
+using System;
+
+
+namespace ProjectEntryLaborAdjust
+{
+    // ===================== RULE (ALL SETTINGS LIVE HERE) =====================
+    public sealed class L023PmLaborRule : LaborRuleBase
+    {
+        public L023PmLaborRule() : base("L023", "Auto-added PM Labor")
+        {
+            ExcludedBranchCDs.Add("301");
+            ExcludedBranchCDs.Add("112");
+            ExcludedTemplateCDs.Add("ENVIRONMENTAL");
+            ExcludedTemplateCDs.Add("REST&M");
+            ExcludedBillRules.Add("PROGRESS");
+            ProjectDate = new DateTime(2025, 9, 5); // rule applies only to projects created on/after this date
+        }
+
+        // Leave null => use AR Sales Prices (no fixed rate)
+        public override decimal? FixedUnitRate
+        {
+            get { return null; }
+        }
+
+        public override decimal GetHours(decimal jobSize, DateTime? projectCreatedDate)
+        {
+            if (jobSize < 0m) return 0m;
+
+            // Decide matrix by date (unknown => new matrix)
+            var pivot = ProjectDate?.Date;
+            var created = projectCreatedDate?.Date;
+            bool useOldMatrix = pivot.HasValue && created.HasValue && created.Value < pivot.Value;
+
+            if (useOldMatrix)
+            {
+                // ---- OLD MATRIX ----
+                if (jobSize <= 615m) return 0.5m;
+                if (jobSize <= 1000m) return 1.0m;
+                if (jobSize <= 2500m) return 1.5m;
+                if (jobSize <= 5000m) return 3.0m;
+                if (jobSize <= 7500m) return 3.5m;
+                if (jobSize <= 10000m) return 5.0m;
+                if (jobSize <= 25000m) return 6.0m;
+                if (jobSize <= 50000m) return 7.0m;
+                return 10.5m;
+            }
+
+            // ---- NEW MATRIX ---- 
+            if (jobSize <= 616m) return 0.5m;
+            if (jobSize <= 1000m) return 1.0m;
+            if (jobSize <= 2500m) return 2.5m;
+            if (jobSize <= 5000m) return 4.5m;
+            if (jobSize <= 7500m) return 5.0m;
+            if (jobSize <= 10000m) return 7.0m;
+            if (jobSize <= 25000m) return 8.5m;
+            if (jobSize <= 50000m) return 9.5m;
+            return 15.0m;
+        }
+    }
+}
+
+    
+
+
+
+
+
+