From 943e11865598ba2ebcc44dbbd01d515ba2f80961 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Thu, 12 Aug 2021 22:23:52 +0000 Subject: [PATCH] last of wo subitems woot! --- source/Plugins/AyaNova.Plugin.V8/V8.cs | 52 +++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 2 deletions(-) diff --git a/source/Plugins/AyaNova.Plugin.V8/V8.cs b/source/Plugins/AyaNova.Plugin.V8/V8.cs index 9e4eab3..a71ecbe 100644 --- a/source/Plugins/AyaNova.Plugin.V8/V8.cs +++ b/source/Plugins/AyaNova.Plugin.V8/V8.cs @@ -2903,6 +2903,7 @@ namespace AyaNova.PlugIn.V8 await util.PostAsync("workorder/items/travels", dwt.ToString()); } + //##### WORKORDER ITEM TASKS int nTaskSequence = 0; foreach (WorkorderItemTask wt in wi.Tasks) { @@ -2919,11 +2920,58 @@ namespace AyaNova.PlugIn.V8 //but could wing it if necessary for some reason //dwt.completedByUserId = Getv7v8IdMapNullOk(wt.Modifier); //dwt.completedDate= - - await util.PostAsync("workorder/items/tasks", dwt.ToString()); } + //##### WORKORDER ITEM EXPENSES + foreach (WorkorderItemMiscExpense we in wi.Expenses) + { + progress.SubOp("WorkorderItemExpense " + we.ID.ToString()); + dynamic dwe = new JObject(); + dwe.workOrderId = RavenId; + dwe.workorderItemId = ravenwoitemid; + dwe.description = we.Description; + dwe.name = we.Name; + dwe.totalCost = we.TotalCost; + dwe.chargeAmount = we.ChargeAmount; + dwe.taxPaid = we.TaxPaid; + dwe.chargeTaxCodeId = Getv7v8IdMapNullOk(we.ChargeTaxCodeID); + dwe.reimburseUser = we.ReimburseUser; + dwe.userId = Getv7v8IdMapNullOk(we.UserID); + dwe.chargeToCustomer = we.ChargeToClient; + await util.PostAsync("workorder/items/expenses", dwe.ToString()); + } + + //##### WORKORDER ITEM OUTSIDE SERVICE + if (wi.HasOutsideService) + { + + //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.SubOp("WorkorderItemOutsideService"); + dynamic dwio = new JObject(); + dwio.workOrderId = RavenId; + dwio.workorderItemId = ravenwoitemid; + dwio.unitId = ravUnitId; + dwio.notes = wi.OutsideService.Notes; + dwio.vendorSentToId = Getv7v8IdMapNullOk(wi.OutsideService.VendorSentToID); + dwio.vendorSentViaId = Getv7v8IdMapNullOk(wi.OutsideService.VendorSentViaID); + dwio.rMANumber = wi.OutsideService.RMANumber; + dwio.trackingNumber = wi.OutsideService.TrackingNumber; + dwio.repairCost = wi.OutsideService.RepairCost; + dwio.repairPrice = wi.OutsideService.RepairPrice; + dwio.shippingCost = wi.OutsideService.ShippingCost; + dwio.shippingPrice = wi.OutsideService.ShippingPrice; + dwio.sentDate = util.DateToV8(wi.OutsideService.DateSent); + dwio.eTADate = util.DateToV8(wi.OutsideService.DateETA); + dwio.returnDate = util.DateToV8(wi.OutsideService.DateReturned); + await util.PostAsync("workorder/items/units", dwio.ToString()); + } + } + }//items loop }//wo loop