Kaynağa Gözat

Fixed UI access on non-main thread for requisition Create Order button

Kenric Nugteren 4 hafta önce
ebeveyn
işleme
af1ac91234

+ 5 - 7
prs.desktop/Panels/Jobs/Requisitions/JobRequisitionItemGrid.cs

@@ -86,27 +86,25 @@ internal class JobRequisitionItemGrid : DynamicDataGrid<JobRequisitionItem>, IMa
         var dlg = new MultiSelectDialog<Supplier>(
             LookupFactory.DefineFilter<Supplier>(),
             Columns.None<Supplier>()
-                .Add(x => x.ID)
-                .Add(x => x.Code)
-                .Add(x => x.Name),
+                .Add(x => x.ID),
             false);
         
         var _po = new PurchaseOrder();
         if (dlg.ShowDialog())
         {
+            var supplierID = dlg.IDs().First();
             Progress.ShowModal("Creating Purchase Order", progress =>
             {
                 
                 _po.Description = "Created from Job Requisition Screen" + System.Environment.NewLine;
                 _po.RaisedBy.ID = App.EmployeeID;
-                _po.SupplierLink.ID = dlg.IDs().First();
+                _po.SupplierLink.ID = supplierID;
                 Client.Save(_po, "Created From Requisition Screen");
                 
                 progress.Report("Creating Order Items");
                 var _pois = new Dictionary<JobRequisitionItem,PurchaseOrderItem>();
-                foreach (CoreRow row in SelectedRows)
+                foreach (var _jri in rows.ToObjects<JobRequisitionItem>())
                 {
-                    var _jri = row.ToObject<JobRequisitionItem>();
                     var _poi = new PurchaseOrderItem();
                     _poi.PurchaseOrderLink.ID = _po.ID;
                     _poi.Product.ID = _jri.Product.ID;
@@ -138,7 +136,7 @@ internal class JobRequisitionItemGrid : DynamicDataGrid<JobRequisitionItem>, IMa
                 Client.Save(poias,"Created From Requisition Screen");
             });
         }
-        new SupplierPurchaseOrders().EditItems(new[] { _po });
+        new SupplierPurchaseOrders().EditItems([_po]);
         return true;
     }