From bc5f33cf4180491d4ae695abf1434ea8ae22c9ed Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Wed, 11 Aug 2021 23:29:34 +0000 Subject: [PATCH] --- source/Plugins/AyaNova.Plugin.V8/V8.cs | 37 +++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/source/Plugins/AyaNova.Plugin.V8/V8.cs b/source/Plugins/AyaNova.Plugin.V8/V8.cs index 4651a6f..0479abf 100644 --- a/source/Plugins/AyaNova.Plugin.V8/V8.cs +++ b/source/Plugins/AyaNova.Plugin.V8/V8.cs @@ -2582,6 +2582,7 @@ namespace AyaNova.PlugIn.V8 int nSequence = 0; foreach (WorkorderItem wi in c.WorkorderItems) { + List witags = new List(); progress.Op("WorkorderItem " + wi.ID.ToString()); dynamic dwi = new JObject(); dwi.workOrderId = RavenId; @@ -2597,9 +2598,8 @@ namespace AyaNova.PlugIn.V8 dwi.warrantyService = wi.WarrantyService; - TagFromv7Guid(wi.TypeID, tags); - TagFromv7Guid(wi.WorkorderItemUnitServiceTypeID, tags); - SetTags(dwi, tags); + TagFromv7Guid(wi.TypeID, witags); + SetTags(dwi, witags); ////Custom fields? if (ShouldExportCustom) @@ -2609,7 +2609,36 @@ namespace AyaNova.PlugIn.V8 var ravenwoitemid = util.IdFromResponse(await util.PostAsync("workorder/items", dwi.ToString())); await util.EventLog(util.AyaType.WorkOrderItem, ravenwoitemid, SafeGetUserMap(wi.Creator), SafeGetUserMap(wi.Modifier), wi.Created, wi.Modified); - //and rest of tree below here... + //##### WORKORDER ITEM UNIT + if (wi.UnitID != Guid.Empty) + { + + //make sure we have a matching unit already + var ravUnitId = Getv7v8IdMapNullOk(wi.UnitID); + if (ravUnitId != null) + { + //we have a legit unit record, make it for v8 + progress.Op("WorkorderItemUnit " + wi.UnitID.ToString()); + dynamic dwiu = new JObject(); + dwiu.workOrderId = RavenId; + dwiu.workorderItemId = ravenwoitemid; + dwiu.unitId = RavenId; + List wiutags = new List(); + TagFromv7Guid(wi.WorkorderItemUnitServiceTypeID, wiutags); + SetTags(dwiu, wiutags); + await util.PostAsync("workorder/items/units", dwiu.ToString()); + } + } + + + ////##### WORKORDER ITEM SCHEDULED USER + foreach (WorkorderItemScheduledUser wisu in wi.ScheduledUsers) + { + progress.Op("WorkorderItemScheduledUser " + wisu.ID.ToString()); + dynamic dwisu = new JObject(); + dwisu.workOrderId = RavenId; + dwisu.workorderItemId = ravenwoitemid; + } }