From 9b574572ccdfc7654bf80ff5ad64193a0b3b4653 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Tue, 13 Apr 2021 22:29:44 +0000 Subject: [PATCH] --- server/AyaNova/biz/WorkOrderBiz.cs | 37 +++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/server/AyaNova/biz/WorkOrderBiz.cs b/server/AyaNova/biz/WorkOrderBiz.cs index 921f1b31..222279d0 100644 --- a/server/AyaNova/biz/WorkOrderBiz.cs +++ b/server/AyaNova/biz/WorkOrderBiz.cs @@ -97,9 +97,40 @@ namespace AyaNova.Biz return null; } WorkOrder newObject = new WorkOrder(); - CopyObject.Copy(dbObject, newObject, "Wiki,Serial"); + CopyObject.Copy(dbObject, newObject, "Wiki, Serial, States"); + + //walk the tree and reset all id's and concurrencies + //TOP newObject.Id = 0; newObject.Concurrency = 0; + foreach (var o in newObject.Items) + { + o.Id = 0; + o.Concurrency = 0; + foreach (var v in o.Expenses) + { v.Id = 0; v.Concurrency = 0; } + foreach (var v in o.Labors) + { v.Id = 0; v.Concurrency = 0; } + foreach (var v in o.Loans) + { v.Id = 0; v.Concurrency = 0; } + foreach (var v in o.OutsideServices) + { v.Id = 0; v.Concurrency = 0; } + foreach (var v in o.PartRequests) + { v.Id = 0; v.Concurrency = 0; } + foreach (var v in o.Parts) + { v.Id = 0; v.Concurrency = 0; } + foreach (var v in o.ScheduledUsers) + { v.Id = 0; v.Concurrency = 0; } + foreach (var v in o.Tasks) + { v.Id = 0; v.Concurrency = 0; } + foreach (var v in o.Travels) + { v.Id = 0; v.Concurrency = 0; } + foreach (var v in o.Units) + { v.Id = 0; v.Concurrency = 0; } + } + + + await ct.WorkOrder.AddAsync(newObject); await ct.SaveChangesAsync(); await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, newObject.Id, BizType, AyaEvent.Created), ct); @@ -481,9 +512,9 @@ namespace AyaNova.Biz //populate entire workorder graph await WorkOrderPopulateVizFields(w); - + var jo = JObject.FromObject(w); - + //WorkOrder header custom fields if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"])) jo["CustomFields"] = JObject.Parse((string)jo["CustomFields"]);