This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user