Forráskód Böngészése

Fixed billtimberline bug

Kenric Nugteren 1 éve
szülő
commit
80eb342b57
1 módosított fájl, 7 hozzáadás és 4 törlés
  1. 7 4
      prs.shared/Posters/Timberline/BillTimberlinePoster.cs

+ 7 - 4
prs.shared/Posters/Timberline/BillTimberlinePoster.cs

@@ -279,7 +279,12 @@ public class Module
         private List<BillTimberlineHeader> DoProcess(IDataModel<Bill> model)
         {
             var apifs = new List<BillTimberlineHeader>();
-            foreach(var bill in model.GetTable<Bill>().ToObjects<Bill>())
+
+            var lines = model.GetTable<BillLine>("Bill_BillLine").ToObjects<BillLine>()
+                .GroupBy(x => x.BillLink.ID).ToDictionary(x => x.Key, x => x.ToList());
+            var purchaseOrderItems = model.GetTable<PurchaseOrderItem>("POItem").ToObjects<PurchaseOrderItem>()
+                .ToDictionary(x => x.ID, x => x);
+            foreach (var bill in model.GetTable<Bill>().ToObjects<Bill>())
             {
                 var apif = new BillTimberlineHeader
                 {
@@ -306,9 +311,7 @@ public class Module
                 };
                 ProcessHeader(model, bill, apif);
 
-                var purchaseOrderItems = model.GetTable<PurchaseOrderItem>("POItem").ToObjects<PurchaseOrderItem>()
-                    .ToDictionary(x => x.ID, x => x);
-                foreach (var billLine in model.GetTable<BillLine>("Bill_BillLine").ToObjects<BillLine>())
+                foreach (var billLine in lines.GetValueOrDefault(bill.ID) ?? Enumerable.Empty<BillLine>())
                 {
                     var apdf = new BillTimberlineDistribution
                     {