From 507b641d1145930fa26984824c96deaebc763851 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Wed, 6 Jul 2022 21:41:18 +0000 Subject: [PATCH] --- AyaNovaQBI/Map.cs | 220 ++++++++++++++++++--------------- AyaNovaQBI/Waiting.Designer.cs | 6 +- 2 files changed, 122 insertions(+), 104 deletions(-) diff --git a/AyaNovaQBI/Map.cs b/AyaNovaQBI/Map.cs index 477e420..9df10f3 100644 --- a/AyaNovaQBI/Map.cs +++ b/AyaNovaQBI/Map.cs @@ -981,6 +981,8 @@ namespace AyaNovaQBI //Rates are not offered - same as v7 + + if (gridAya.SelectedRows.Count == 0 && gridQB.SelectedRows.Count == 0) return; bool IsAyaGrid = false; IsAyaGrid = gridAya.SelectedRows.Count > 0; @@ -1014,121 +1016,137 @@ namespace AyaNovaQBI bool PricesOnly = s.PriceOnly; s.Dispose(); - - - - bool SaveIntegration = false; - - if (IsAyaGrid) + Waiting w = new Waiting(); + w.Show(); + w.Ops = $"Updating {sTo} {sType} from {sFrom}..."; + try { - #region AyaGrid so UPDATE AYANOVA FROM QB - switch (_Type) - { - case AyaType.Customer: - await util.PopulateQBClientCacheAsync(); - break; - case AyaType.Vendor: - await util.PopulateQBVendorCacheAsync(); - break; - case AyaType.Part: - await util.PopulateQBItemCacheAsync(); - break; - } + + bool SaveIntegration = false; - foreach (DataGridViewRow r in gridAya.SelectedRows) + if (IsAyaGrid) { - string AyaName = r.Cells[0].Value.ToString(); - long AyaId = (long)r.Cells[1].Value; - - //only linked items can be updated - IntegrationItem im = util.QBIntegration.Items.FirstOrDefault(z => z.ObjectId == AyaId && z.AType == _Type); - if (im != null) + #region AyaGrid so UPDATE AYANOVA FROM QB + switch (_Type) { - switch (_Type) - { - case AyaType.Customer: - await util.RefreshAyaNovaCustomerFromQBAsync(im); - break; - case AyaType.Vendor: - await util.RefreshAyaNovaVendorFromQBAsync(im); - break; - case AyaType.Part: - await util.RefreshAyaNovaPartFromQBAsync(im, PricesOnly); - break; - } - SaveIntegration = true; - } - } - switch (_Type) - { - case AyaType.Customer: - await util.PopulateAyaClientList(); - break; - case AyaType.Vendor: - await util.PopulateAyaVendorList(); - break; - case AyaType.Part: - await util.PopulateAyaPartList(); - break; - } - - #endregion AyaGrid - } - else - { - #region QB GRID - - foreach (DataGridViewRow r in gridQB.SelectedRows) - { - // var QBItemName = gridQB.SelectedRows[0].Cells[0].Value.ToString(); - var QBItemId = gridQB.SelectedRows[0].Cells[1].Value.ToString(); - - //only linked items can be updated - IntegrationItem im = util.QBIntegration.Items.FirstOrDefault(z => z.IntegrationItemId == QBItemId && z.AType == _Type); - if (im != null) - { - switch (_Type) - { - - case AyaType.Customer: - await util.RefreshQBCustomerFromAyaNovaAsync(im); - break; - case AyaType.Vendor: - await util.RefreshQBVendorFromAyaNovaAsync(im); - break; - case AyaType.Part: - await util.RefreshQBPartFromAyaNova(im, PricesOnly); - break; - } - SaveIntegration = true; + case AyaType.Customer: + await util.PopulateQBClientCacheAsync(); + break; + case AyaType.Vendor: + await util.PopulateQBVendorCacheAsync(); + break; + case AyaType.Part: + await util.PopulateQBItemCacheAsync(); + break; } - } - switch (_Type) + foreach (DataGridViewRow r in gridAya.SelectedRows) + { + string AyaName = r.Cells[0].Value.ToString(); + long AyaId = (long)r.Cells[1].Value; + w.Step = AyaName; + + //only linked items can be updated + IntegrationItem im = util.QBIntegration.Items.FirstOrDefault(z => z.ObjectId == AyaId && z.AType == _Type); + if (im != null) + { + switch (_Type) + { + case AyaType.Customer: + await util.RefreshAyaNovaCustomerFromQBAsync(im); + break; + case AyaType.Vendor: + await util.RefreshAyaNovaVendorFromQBAsync(im); + break; + case AyaType.Part: + await util.RefreshAyaNovaPartFromQBAsync(im, PricesOnly); + break; + } + SaveIntegration = true; + } + } + switch (_Type) + { + + case AyaType.Customer: + await util.PopulateAyaClientList(); + break; + case AyaType.Vendor: + await util.PopulateAyaVendorList(); + break; + case AyaType.Part: + await util.PopulateAyaPartList(); + break; + } + + #endregion AyaGrid + } + else { - case AyaType.Customer: - await util.PopulateQBClientCacheAsync(); - break; - case AyaType.Vendor: - await util.PopulateQBVendorCacheAsync(); - break; - case AyaType.ServiceRate: - case AyaType.TravelRate: - case AyaType.Part: - await util.PopulateQBItemCacheAsync(); - break; + #region QB GRID + + foreach (DataGridViewRow r in gridQB.SelectedRows) + { + var QBItemName = gridQB.SelectedRows[0].Cells[0].Value.ToString(); + var QBItemId = r.Cells[1].Value.ToString(); + w.Step = QBItemName; + + //only linked items can be updated + IntegrationItem im = util.QBIntegration.Items.FirstOrDefault(z => z.IntegrationItemId == QBItemId && z.AType == _Type); + if (im != null) + { + switch (_Type) + { + + case AyaType.Customer: + await util.RefreshQBCustomerFromAyaNovaAsync(im); + break; + case AyaType.Vendor: + await util.RefreshQBVendorFromAyaNovaAsync(im); + break; + case AyaType.Part: + await util.RefreshQBPartFromAyaNova(im, PricesOnly); + break; + } + SaveIntegration = true; + } + } + + switch (_Type) + { + case AyaType.Customer: + await util.PopulateQBClientCacheAsync(); + break; + case AyaType.Vendor: + await util.PopulateQBVendorCacheAsync(); + break; + case AyaType.ServiceRate: + case AyaType.TravelRate: + case AyaType.Part: + await util.PopulateQBItemCacheAsync(); + break; + } + + #endregion qb grid } - #endregion qb grid + if (SaveIntegration) + { + await util.SaveIntegrationObject(); + Initialize(); + } } - - if (SaveIntegration) + catch (Exception ex) { - await util.SaveIntegrationObject(); - Initialize(); + w.Visible = false; + await util.CrackDisplayAndIntegrationLogException(ex, "QBI:Map:UpdateSelectedItems"); + } + finally + { + w.Close(); } diff --git a/AyaNovaQBI/Waiting.Designer.cs b/AyaNovaQBI/Waiting.Designer.cs index e3ecd77..c735230 100644 --- a/AyaNovaQBI/Waiting.Designer.cs +++ b/AyaNovaQBI/Waiting.Designer.cs @@ -38,7 +38,7 @@ this.lblOps.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.lblOps.Location = new System.Drawing.Point(0, 0); this.lblOps.Name = "lblOps"; - this.lblOps.Size = new System.Drawing.Size(345, 28); + this.lblOps.Size = new System.Drawing.Size(464, 28); this.lblOps.TabIndex = 0; this.lblOps.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // @@ -48,7 +48,7 @@ this.lblStep.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.lblStep.Location = new System.Drawing.Point(0, 28); this.lblStep.Name = "lblStep"; - this.lblStep.Size = new System.Drawing.Size(345, 28); + this.lblStep.Size = new System.Drawing.Size(464, 28); this.lblStep.TabIndex = 1; this.lblStep.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // @@ -57,7 +57,7 @@ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.SystemColors.Window; - this.ClientSize = new System.Drawing.Size(345, 66); + this.ClientSize = new System.Drawing.Size(464, 71); this.ControlBox = false; this.Controls.Add(this.lblStep); this.Controls.Add(this.lblOps);