From e8979409716757cba3ad3164deb0d62a03d46d92 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Thu, 26 Aug 2021 00:21:01 +0000 Subject: [PATCH] --- source/Plugins/AyaNova.Plugin.V8/V8.cs | 73 +++++++++++++++++++++++--- source/WinFormApp/config.txt | 8 +-- 2 files changed, 71 insertions(+), 10 deletions(-) diff --git a/source/Plugins/AyaNova.Plugin.V8/V8.cs b/source/Plugins/AyaNova.Plugin.V8/V8.cs index ee6bee4..b0a7b8d 100644 --- a/source/Plugins/AyaNova.Plugin.V8/V8.cs +++ b/source/Plugins/AyaNova.Plugin.V8/V8.cs @@ -4323,14 +4323,75 @@ namespace AyaNova.PlugIn.V8 d.notes = c.Notes; d.userId = V7ToV8IdMap[c.SourceID]; d.assignedByUserId = await Getv7v8IdMap(c.Creator, RootObjectTypes.User); - d.objectId = V7ToV8IdMap[c.FollowID]; - if (c.FollowType == RootObjectTypes.Workorder) + long? v8FollowId = null; + switch (c.FollowType) { - //going to need to be way more specific here to map to v8 - Workorder.getty + case RootObjectTypes.Workorder: + { + v8FollowId = await Getv7v8IdMapNullOk(c.FollowID, RootObjectTypes.Workorder, false, true); + if (v8FollowId == null) + { + progress.SubOp("Follow up for WO skipped due to WO non-existance"); + continue; + } + d.objectId = v8FollowId; + d.objectType = util.AyaType.WorkOrder; + } + break; + case RootObjectTypes.WorkorderQuote: + { + try + { + Workorder o = Workorder.GetWorkorderByRelativeNoMRU(RootObjectTypes.WorkorderQuote, c.FollowID); + } + catch (FetchException ex) + { + progress.SubOp("Follow up for quote skipped due to quote non-existance"); + continue; + } + v8FollowId = await Getv7v8IdMapNullOk(c.FollowID, RootObjectTypes.Workorder, false, true); + if (v8FollowId == null) + { + progress.SubOp("Follow up for quote skipped due to quote non-existance"); + continue; + } + d.objectId = v8FollowId; + d.objectType = util.AyaType.Quote; + } + break; + case RootObjectTypes.WorkorderPreventiveMaintenance: + { + // Workorder o = Workorder.GetWorkorderByRelativeNoMRU(RootObjectTypes.WorkorderPreventiveMaintenance, c.FollowID); + try + { + Workorder o = Workorder.GetWorkorderByRelativeNoMRU(RootObjectTypes.WorkorderPreventiveMaintenance, c.FollowID); + } + catch (FetchException ex) + { + progress.SubOp("Follow up for PM skipped due to PM non-existance"); + continue; + } + v8FollowId = await Getv7v8IdMapNullOk(c.FollowID, RootObjectTypes.Workorder, false, true); + if (v8FollowId == null) + { + progress.SubOp("Follow up for PM skipped due to PM non-existance"); + continue; + } + d.objectId = v8FollowId; + d.objectType = util.AyaType.PM; + } + break; + default: + { + + d.objectId = V7ToV8IdMap[c.FollowID]; + d.objectType = util.RootObjectToAyaType(c.FollowType); + } + break; + } - else - d.objectType = util.RootObjectToAyaType(c.FollowType); + + SetTags(d, tags); progress.Op("FollowUp " + c.ID.ToString()); var rMainObject = await util.PostAsync("review", d); diff --git a/source/WinFormApp/config.txt b/source/WinFormApp/config.txt index 4d2efad..f358152 100644 --- a/source/WinFormApp/config.txt +++ b/source/WinFormApp/config.txt @@ -1,19 +1,19 @@ - + - DataBase FireBird ServerType=1;DataBase=C:\data\AyaNova\database\AYANOVA.fdb;Dialect=3; - --> +