diff --git a/source/Plugins/AyaNova.Plugin.V8/V8.cs b/source/Plugins/AyaNova.Plugin.V8/V8.cs index 25ed35d..514b8a5 100644 --- a/source/Plugins/AyaNova.Plugin.V8/V8.cs +++ b/source/Plugins/AyaNova.Plugin.V8/V8.cs @@ -3685,17 +3685,28 @@ namespace AyaNova.PlugIn.V8 if (dMinStockLevel > 0) { JObject jsa = (await util.GetAsync("part/stock-levels/" + v8PartId)).ObjectResponse; - foreach (JObject js in jsa["data"]) + bool setMinStock = false; + JArray ja=(JArray)jsa["data"]; + foreach (JObject js in ja) { if ((long)js["partWarehouseId"] == (long)v8o["partWarehouseId"]) { js["minimumQuantity"] = dMinStockLevel; - await util.PostAsync("part/stock-levels/" + v8PartId, jsa["data"].ToString()); + setMinStock = true; } break; } + if (!setMinStock) + { + //add a line for this record as there is no existing one (may be none at all but that's not a concern here) + dynamic dnew = new JObject(); + dnew.partWarehouseId = (long)v8o["partWarehouseId"]; + dnew.partId = v8PartId; + dnew.minimumQuantity = dMinStockLevel; + ja.Add(dnew); + } - + await util.PutAsync("part/stock-levels/" + v8PartId, ja.ToString()); }