This commit is contained in:
@@ -71,6 +71,20 @@ namespace AyaNovaQBI
|
||||
"Are you sure?", "Import AyaNova objects", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
|
||||
== DialogResult.No) return;
|
||||
await ImportToQuickBooks();
|
||||
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;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1029,28 +1043,39 @@ namespace AyaNovaQBI
|
||||
long AyaId = (long)r.Cells[1].Value;
|
||||
|
||||
//only linked items can be updated
|
||||
IntegrationItem m = util.QBIntegration.Items.FirstOrDefault(z => z.ObjectId == AyaId && z.AType == _Type);
|
||||
if (m != null)
|
||||
IntegrationItem im = util.QBIntegration.Items.FirstOrDefault(z => z.ObjectId == AyaId && z.AType == _Type);
|
||||
if (im != null)
|
||||
{
|
||||
switch (_Type)
|
||||
{
|
||||
|
||||
case AyaType.Customer:
|
||||
sType = "Customers";
|
||||
await util.RefreshAyaNovaCustomerFromQBAsync(im);
|
||||
break;
|
||||
case AyaType.Vendor:
|
||||
sType = "Vendors";
|
||||
await util.RefreshAyaNovaVendorFromQBAsync(im);
|
||||
break;
|
||||
case AyaType.Part:
|
||||
await util.RefreshAyaNovaPartFromQB(AyaId, PricesOnly);
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1058,45 +1083,47 @@ namespace AyaNovaQBI
|
||||
}
|
||||
else
|
||||
{
|
||||
#region QB GRID
|
||||
//################
|
||||
//QB GRID
|
||||
//
|
||||
#region QB GRID
|
||||
|
||||
if (gridQB.SelectedRows.Count > 1)
|
||||
foreach (DataGridViewRow r in gridQB.SelectedRows)
|
||||
{
|
||||
MessageBox.Show("You can not link more than one QuickBooks\r\n" +
|
||||
"object to a single AyaNova object", "Not supported", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
return;
|
||||
// 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.RefreshQBCustomerFromAyaNova(im);
|
||||
break;
|
||||
case AyaType.Vendor:
|
||||
await util.RefreshQVendorFromAyaNova(im);
|
||||
break;
|
||||
case AyaType.Part:
|
||||
await util.RefreshQBPartFromAyaNova(im, PricesOnly);
|
||||
break;
|
||||
}
|
||||
SaveIntegration = true;
|
||||
}
|
||||
}
|
||||
|
||||
var QBItemName = gridQB.SelectedRows[0].Cells[0].Value.ToString();
|
||||
var QBItemId = gridQB.SelectedRows[0].Cells[1].Value.ToString();
|
||||
|
||||
MapSelectAyaNovaItem s = new MapSelectAyaNovaItem();
|
||||
s.Items = _aya;
|
||||
if (s.ShowDialog() == DialogResult.Cancel)
|
||||
return;
|
||||
|
||||
var AyaId = s.SelectedItemId;
|
||||
s.Dispose();
|
||||
|
||||
//This way is a one to one mapping so only one iteration and two potential things to do, add or change link
|
||||
//Is it already present?
|
||||
IntegrationItem m = util.QBIntegration.Items.FirstOrDefault(z => z.ObjectId == AyaId && z.AType == _Type);
|
||||
if (m != null)
|
||||
switch (_Type)
|
||||
{
|
||||
m.IntegrationItemId = QBItemId;
|
||||
m.IntegrationItemName = QBItemName;
|
||||
m.LastSync = System.DateTime.Now;
|
||||
SaveIntegration = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
//not already present, so add it
|
||||
m = new IntegrationItem { AType = _Type, IntegrationItemName = QBItemName, IntegrationItemId = QBItemId, LastSync = System.DateTime.Now, ObjectId = AyaId };
|
||||
util.QBIntegration.Items.Add(m);
|
||||
SaveIntegration = true;
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user