Просмотр исходного кода

Fix to style being set on StockForecast ordering and Treatment PO ordering

Kenric Nugteren 1 неделя назад
Родитель
Сommit
9da8613520

+ 8 - 9
prs.desktop/Panels/Reservation Management/ReservationManagementPanel.xaml.cs

@@ -368,15 +368,14 @@ public partial class ReservationManagementPanel : UserControl, IPanel<JobRequisi
                     orderItems.Add((orderItem, item.Item.JRI, item));
                 }
 
-                LookupFactory.DoLookups<PurchaseOrderItem, Product, ProductLink>(
-                    orderItems.Select(x => new Tuple<PurchaseOrderItem, Guid>(x.Item1, x.Item1.Product.ID)),
-                    x => x.Product);
-                LookupFactory.DoLookups<PurchaseOrderItem, TaxCode, TaxCodeLink>(
-                    orderItems.WithIndex().Select(x => new Tuple<PurchaseOrderItem, Guid>(x.Value.Item1, perSupplier[x.Key].SupplierProduct.TaxCode.ID)),
-                    x => x.TaxCode);
-                LookupFactory.DoLookups<PurchaseOrderItem, Job, JobLink>(
-                    orderItems.Select(x => new Tuple<PurchaseOrderItem, Guid>(x.Item1, x.Item2.Job.ID)),
-                    x => x.Job);
+                var productIDs = orderItems.ToArray(x => new Tuple<PurchaseOrderItem, Guid>(x.Item1, x.Item1.Product.ID));
+                var taxCodeIDs = orderItems.WithIndex()
+                    .Select(x => new Tuple<PurchaseOrderItem, Guid>(x.Value.Item1, perSupplier[x.Key].SupplierProduct.TaxCode.ID)).ToArray();
+                var jobIDs = orderItems.ToArray(x => new Tuple<PurchaseOrderItem, Guid>(x.Item1, x.Item2.Job.ID));
+
+                LookupFactory.DoLookups<PurchaseOrderItem, Product, ProductLink>(productIDs, x => x.Product);
+                LookupFactory.DoLookups<PurchaseOrderItem, TaxCode, TaxCodeLink>(taxCodeIDs, x => x.TaxCode);
+                LookupFactory.DoLookups<PurchaseOrderItem, Job, JobLink>(jobIDs, x => x.Job);
 
                 foreach (var (i, item) in perSupplier.WithIndex())
                 {

+ 9 - 12
prs.desktop/Panels/Stock Forecast/OrderScreen/StockForecastOrderScreen.xaml.cs

@@ -180,18 +180,15 @@ public partial class StockForecastOrderScreen : Window, INotifyPropertyChanged
                     orderItems[item] = orderItem;
                 }
 
-                LookupFactory.DoLookups<PurchaseOrderItem, Job, JobLink>(
-                    orderItems.Values.Select(x => new Tuple<PurchaseOrderItem, Guid>(x, x.Job.ID)),
-                    x => x.Job);
-                LookupFactory.DoLookups<PurchaseOrderItem, Product, ProductLink>(
-                    orderItems.Values.Select(x => new Tuple<PurchaseOrderItem, Guid>(x, x.Product.ID)),
-                    x => x.Product);
-                LookupFactory.DoLookups<PurchaseOrderItem, ProductStyle, ProductStyleLink>(
-                    orderItems.Values.Select(x => new Tuple<PurchaseOrderItem, Guid>(x, x.Style.ID)),
-                    x => x.Style);
-                LookupFactory.DoLookups<PurchaseOrderItem, TaxCode, TaxCodeLink>(
-                    orderItems.Values.Select(x => new Tuple<PurchaseOrderItem, Guid>(x, x.TaxCode.ID)),
-                    x => x.TaxCode);
+                var jobIDs = orderItems.Values.ToArray(x => new Tuple<PurchaseOrderItem, Guid>(x, x.Job.ID));
+                var productIDs = orderItems.Values.ToArray(x => new Tuple<PurchaseOrderItem, Guid>(x, x.Product.ID));
+                var styleIDs = orderItems.Values.ToArray(x => new Tuple<PurchaseOrderItem, Guid>(x, x.Style.ID));
+                var taxCodeIDs = orderItems.Values.ToArray(x => new Tuple<PurchaseOrderItem, Guid>(x, x.TaxCode.ID));
+
+                LookupFactory.DoLookups<PurchaseOrderItem, Job, JobLink>(jobIDs, x => x.Job);
+                LookupFactory.DoLookups<PurchaseOrderItem, Product, ProductLink>(productIDs, x => x.Product);
+                LookupFactory.DoLookups<PurchaseOrderItem, ProductStyle, ProductStyleLink>(styleIDs, x => x.Style);
+                LookupFactory.DoLookups<PurchaseOrderItem, TaxCode, TaxCodeLink>(taxCodeIDs, x => x.TaxCode);
 
                 foreach(var item in results)
                 {