diff --git a/source/Plugins/AyaNova.Plugin.V8/V8.cs b/source/Plugins/AyaNova.Plugin.V8/V8.cs index 669dc34..e3c36e8 100644 --- a/source/Plugins/AyaNova.Plugin.V8/V8.cs +++ b/source/Plugins/AyaNova.Plugin.V8/V8.cs @@ -3286,6 +3286,42 @@ namespace AyaNova.PlugIn.V8 if (!progress.KeepGoing) return; progress.Op("Start Quotes export"); progress.SubOp(""); + + + + + +//################## v8 quote status to mirror v7 quote status ########################## + { + /* + Submitted + */ + if (!progress.KeepGoing) return; + dynamic d = new JObject(); + d.name = ; + progress.Op("Replicating Quote status " + d.name); + d.active = s.Active; + d.locked = false; + d.completed = false; + d.selectRoles = 1290;//biz-admin, service full, service tech, subcontractor + d.removeRoles = 1290; + d.color = System.Drawing.ColorTranslator.ToHtml(System.Drawing.Color.FromArgb(s.ARGB)); + SetTags(d, tags); + var rMainObject = await util.PostAsync("work-order-status", d.ToString()); + long RavenId = util.IdFromResponse(rMainObject); + Addv7v8IdMap(s.ID, RavenId); + //Event log fixup + await util.EventLog(util.AyaType.WorkOrderStatus, RavenId, SafeGetUserMap(s.Creator), SafeGetUserMap(s.Modifier), s.Created, s.Modified); + } + + +//####################################################################################### + + + + + + var ObjectTypeName = "Quote"; //Step 1: export the CustomFields to FormCustom if applicable so that when doing individual items we can export their custom data too @@ -3306,7 +3342,7 @@ namespace AyaNova.PlugIn.V8 //task picklist used over and over var AllTasks = TaskPickList.GetList(); - foreach (WorkorderServiceList.WorkorderServiceListInfo i in pl) + foreach (WorkorderQuoteList.WorkorderQuoteListInfo i in pl) { if (!progress.KeepGoing) return; List tags = new List(); @@ -3314,27 +3350,27 @@ namespace AyaNova.PlugIn.V8 Workorder c = Workorder.GetItem(i.LT_O_Workorder.Value); - if (IsDuplicatev7v8IdMapItem(c.ID, c.WorkorderService.ServiceNumber.ToString(), progress)) continue; - var ObjectTID = new TypeAndID(RootObjectTypes.WorkorderService, c.ID); + if (IsDuplicatev7v8IdMapItem(c.ID, c.WorkorderQuote.QuoteNumber.ToString(), progress)) continue; + var ObjectTID = new TypeAndID(RootObjectTypes.WorkorderQuote, c.ID); dynamic d = new JObject(); - progress.Op(ObjectTypeName + " " + c.WorkorderService.ServiceNumber); + progress.Op(ObjectTypeName + " " + c.WorkorderQuote.QuoteNumber); - d.serial = c.WorkorderService.ServiceNumber; - if (c.WorkorderService.ServiceNumber > _highestWorkOrderNumberExported) - _highestWorkOrderNumberExported = c.WorkorderService.ServiceNumber; - d.customerId = Getv7v8IdMap(c.ClientID, "Client for wo " + d.serial); + d.serial = c.WorkorderQuote.QuoteNumber; + if (c.WorkorderQuote.QuoteNumber > _highestQuoteNumberExported) + _highestQuoteNumberExported = c.WorkorderQuote.QuoteNumber; + d.customerId = Getv7v8IdMap(c.ClientID, "Client for quote " + d.serial); d.notes = c.Summary; d.projectId = Getv7v8IdMapNullOk(c.ProjectID); d.internalReferenceNumber = c.InternalReferenceNumber; d.customerReferenceNumber = c.CustomerReferenceNumber; d.customerContactName = c.CustomerContactName; d.createdDate = util.DateToV8(c.Created, true); - d.serviceDate = util.DateToV8(c.WorkorderService.ServiceDate); - d.completeByDate = util.DateToV8(c.WorkorderService.CloseByDate); - d.invoiceNumber = c.WorkorderService.InvoiceNumber; + // d.serviceDate = util.DateToV8(c.WorkorderQuote.ServiceDate); + // d.completeByDate = util.DateToV8(c.WorkorderQuote.CloseByDate); + // d.invoiceNumber = c.WorkorderQuote.InvoiceNumber; d.onsite = c.Onsite; d.contractId = Getv7v8IdMapNullOk(c.ContractIDResolved()); - d.lastStatusId = Getv7v8IdMapNullOk(c.WorkorderService.WorkorderStatusID); + d.lastStatusId = Getv7v8IdMapNullOk(c.WorkorderQuote.WorkorderStatusID); var client = c.uiClient; if (client != null)