Sfoglia il codice sorgente

Added editor for actual quantity

Kenric Nugteren 1 anno fa
parent
commit
8b54f25c24
1 ha cambiato i file con 27 aggiunte e 8 eliminazioni
  1. 27 8
      prs.desktop/Panels/Requisitions/RequisitionItemGrid.cs

+ 27 - 8
prs.desktop/Panels/Requisitions/RequisitionItemGrid.cs

@@ -106,24 +106,43 @@ namespace PRSDesktop
             }
 
             var reqItem = row.ToObject<RequisitionItem>();
-            ProcessItems(reqItem.Picked.IsEmpty() ? DateTime.Now : DateTime.MinValue, CoreUtils.One(reqItem));
-            return true;
+            return ProcessItems(reqItem.Picked.IsEmpty() ? DateTime.Now : DateTime.MinValue, CoreUtils.One(reqItem));
         }
 
-        private static void ProcessItems(DateTime picked, IEnumerable<RequisitionItem> items)
+        private static bool ProcessItems(DateTime picked, IEnumerable<RequisitionItem> items)
         {
             var list = new List<RequisitionItem>();
             foreach (var item in items)
             {
                 item.Picked = picked;
+
+                if (!picked.IsEmpty())
+                {
+                    var quantity = item.Quantity;
+                    if (!DoubleEdit.Execute("Enter actual quantity picked:", 0, double.MaxValue, ref quantity))
+                    {
+                        continue;
+                    }
+                    item.ActualQuantity = quantity;
+                }
+
                 list.Add(item);
             }
-            string audittrail;
-            if (picked == DateTime.MinValue)
-                audittrail = "Item unpicked";
+
+            if(list.Count > 0)
+            {
+                string audittrail;
+                if (picked == DateTime.MinValue)
+                    audittrail = "Item unpicked";
+                else
+                    audittrail = "Item picked " + picked.ToString("dd MMM yy");
+                Client.Save(list, audittrail);
+                return true;
+            }
             else
-                audittrail = "Item picked " + picked.ToString("dd MMM yy");
-            Client.Save(list, audittrail);
+            {
+                return false;
+            }
         }
 
         protected override void DoReconfigure(FluentList<DynamicGridOption> options)