This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
@@ -15,11 +16,7 @@ namespace AyaNovaQBI
|
||||
private AyaType _Type = AyaType.Customer;
|
||||
private DataTable _aya;
|
||||
private DataTable _qb;
|
||||
|
||||
//private VendorTypes _currentVendorType = 0;
|
||||
private viewtypes _currentView = viewtypes.All;
|
||||
//private RateTypes _currentRateType = 0;
|
||||
//private long _MostLikelyRateUnitChargeDescriptionID = 0;
|
||||
|
||||
private enum viewtypes
|
||||
{
|
||||
@@ -62,10 +59,250 @@ namespace AyaNovaQBI
|
||||
|
||||
|
||||
#region IMPORT
|
||||
private void importSelectedItemsToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
private async void importSelectedItemsToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
bool IsAyaGrid = false;
|
||||
if (gridAya.SelectedRows.Count == 0 && gridQB.SelectedRows.Count == 0) return;
|
||||
|
||||
IsAyaGrid = gridAya.SelectedRows.Count > 0;
|
||||
|
||||
if (IsAyaGrid)
|
||||
{
|
||||
if (MessageBox.Show(
|
||||
"Import and link the selected AyaNova objects into QuickBooks.\r\n\r\n" +
|
||||
"Are you sure?", "Import AyaNova objects", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
|
||||
== DialogResult.No) return;
|
||||
await ImportToQuickBooks();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (MessageBox.Show(
|
||||
"Import and link the selected QuickBooks objects into AyaNova.\r\n\r\n" +
|
||||
"Are you sure?", "Import QuickBooks objects", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
|
||||
== DialogResult.No) return;
|
||||
await ImportToAyaNova();
|
||||
switch (_Type)
|
||||
{
|
||||
|
||||
case AyaType.Customer:
|
||||
await util.PopulateAyaClientList();
|
||||
break;
|
||||
case AyaType.Vendor:
|
||||
await util.PopulateAyaVendorList();
|
||||
break;
|
||||
case AyaType.ServiceRate:
|
||||
await util.PopulateAyaServiceRateList();
|
||||
break;
|
||||
case AyaType.TravelRate:
|
||||
await util.PopulateAyaTravelRateList();
|
||||
break;
|
||||
case AyaType.Part:
|
||||
await util.PopulateAyaPartList();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#region Import to AyaNova
|
||||
|
||||
private async Task ImportToAyaNova()
|
||||
{
|
||||
this.Refresh();
|
||||
Cursor.Current = Cursors.WaitCursor;
|
||||
ArrayList alErrors = new ArrayList();
|
||||
Waiting w = new Waiting();
|
||||
w.Show();
|
||||
w.Ops = "Importing from QuickBooks...";
|
||||
try
|
||||
{
|
||||
|
||||
switch (_Type)
|
||||
{
|
||||
case AyaType.Customer:
|
||||
foreach (object o in moveData.Rows)
|
||||
{
|
||||
w.Step = ((QBNameID)o).Name;
|
||||
|
||||
await util.ImportQBCustomer(((QBNameID)o).ID, alErrors);
|
||||
}
|
||||
break;
|
||||
case AyaType.Vendor:
|
||||
foreach (object o in moveData.Rows)
|
||||
{
|
||||
w.Step = ((QBNameID)o).Name;
|
||||
|
||||
Util.ImportQBVendor(((QBNameID)o).ID, this._currentVendorType, alErrors);
|
||||
}
|
||||
break;
|
||||
|
||||
case AyaType.Rate:
|
||||
foreach (object o in moveData.Rows)
|
||||
{
|
||||
w.Step = ((QBNameID)o).Name;
|
||||
|
||||
Util.ImportQBRate(((QBNameID)o).ID, this._currentRateType, _MostLikelyRateUnitChargeDescriptionID, alErrors);
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case AyaType.Part:
|
||||
foreach (object o in moveData.Rows)
|
||||
{
|
||||
w.Step = ((QBNameID)o).Name;
|
||||
|
||||
Util.ImportQBPart(((QBNameID)o).ID, alErrors);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new System.NotSupportedException("ImportToAyaNova: NOT SUPPORTED (STUB): " + _Type.ToString());
|
||||
}
|
||||
|
||||
//display errors if any
|
||||
if (alErrors.Count != 0)
|
||||
{
|
||||
w.Visible = false;
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.Append("Import completed with some errors:\r\n\r\n");
|
||||
foreach (object o in alErrors)
|
||||
{
|
||||
sb.Append((string)o);
|
||||
sb.Append("\r\n************\r\n");
|
||||
|
||||
}
|
||||
|
||||
|
||||
CopyableMessageBox cb = new CopyableMessageBox(sb.ToString());
|
||||
cb.ShowDialog();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
w.Visible = false;
|
||||
Util.CrackDisplayAndIntegrationLogException(ex, "QBI:Map:ImportToAyaNova");//case 3717
|
||||
//CopyableMessageBox cb = new CopyableMessageBox("ImportToAyaNova error: \r\n" + Util.CrackException(ex));
|
||||
//cb.ShowDialog();
|
||||
|
||||
}
|
||||
finally
|
||||
{
|
||||
|
||||
w.Close();
|
||||
}
|
||||
|
||||
}
|
||||
#endregion Import to AyaNova
|
||||
|
||||
#region Import to QuickBooks
|
||||
|
||||
private async Task ImportToQuickBooks()
|
||||
{
|
||||
this.Refresh();
|
||||
Cursor.Current = Cursors.WaitCursor;
|
||||
ArrayList alErrors = new ArrayList();
|
||||
Waiting w = new Waiting();
|
||||
w.Show();
|
||||
w.Ops = "Importing from AyaNova...";
|
||||
try
|
||||
{
|
||||
|
||||
switch (_Type)
|
||||
{
|
||||
case AyaType.Customer:
|
||||
foreach (object o in moveData.Rows)
|
||||
{
|
||||
w.Step = ((AyaNameID)o).Name;
|
||||
|
||||
util.ImportAyaClient(((AyaNameID)o).ID, alErrors);
|
||||
}
|
||||
break;
|
||||
case AyaType.Vendor:
|
||||
foreach (object o in moveData.Rows)
|
||||
{
|
||||
w.Step = ((AyaNameID)o).Name;
|
||||
|
||||
Util.ImportAyaVendor(((AyaNameID)o).ID, alErrors);
|
||||
}
|
||||
break;
|
||||
case AyaType.Rate:
|
||||
{
|
||||
SetQBImportServiceRateAccounts s = new SetQBImportServiceRateAccounts();
|
||||
if (s.ShowDialog() != DialogResult.OK)
|
||||
{
|
||||
s.Dispose();
|
||||
return;
|
||||
}
|
||||
s.Dispose();
|
||||
RatePickList rpl = RatePickList.GetList(false);
|
||||
foreach (object o in moveData.Rows)
|
||||
{
|
||||
w.Step = ((AyaNameID)o).Name;
|
||||
|
||||
Util.ImportAyaRate(((AyaNameID)o).ID, rpl, alErrors);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case AyaType.Part:
|
||||
{
|
||||
SetQBImportInventoryAccounts s = new SetQBImportInventoryAccounts();
|
||||
if (s.ShowDialog() != DialogResult.OK)
|
||||
{
|
||||
s.Dispose();
|
||||
return;
|
||||
}
|
||||
s.Dispose();
|
||||
foreach (object o in moveData.Rows)
|
||||
{
|
||||
w.Step = ((AyaNameID)o).Name;
|
||||
|
||||
Util.ImportAyaPart(((AyaNameID)o).ID, alErrors);
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
throw new System.NotSupportedException("ImportToQuickBooks: NOT SUPPORTED (STUB): " + _Type.ToString());
|
||||
}
|
||||
|
||||
//display errors if any
|
||||
if (alErrors.Count != 0)
|
||||
{
|
||||
w.Visible = false;
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.Append("Import completed with some errors:\r\n\r\n");
|
||||
foreach (object o in alErrors)
|
||||
{
|
||||
sb.Append((string)o);
|
||||
sb.Append("\r\n************\r\n");
|
||||
|
||||
}
|
||||
|
||||
CopyableMessageBox cb = new CopyableMessageBox(sb.ToString());
|
||||
cb.ShowDialog();
|
||||
cb.Dispose();
|
||||
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
//CopyableMessageBox cb=new CopyableMessageBox("ImportToQuickBooks error: " + ex.Message);
|
||||
//cb.ShowDialog();
|
||||
//cb.Dispose();
|
||||
Util.CrackDisplayAndIntegrationLogException(ex, "QBI:Map:ImportToQuickBooks");//case 3717
|
||||
}
|
||||
finally
|
||||
{
|
||||
|
||||
w.Close();
|
||||
}
|
||||
}
|
||||
#endregion importtoqb
|
||||
|
||||
|
||||
#endregion import
|
||||
|
||||
#region AUTOMATIC LINK
|
||||
|
||||
Reference in New Issue
Block a user