This commit is contained in:
2022-07-06 23:08:25 +00:00
parent d11dba69f9
commit 47d1fc14d2
3 changed files with 138 additions and 213 deletions

View File

@@ -3888,22 +3888,22 @@ namespace AyaNovaQBI
c.Country = a.Country;
c.Contact = dr["Contact"].ToString();
if (dr["Phone"].ToString() != "")
c.Phone1 = dr["Phone"].ToString();
if (dr["Fax"].ToString() != "")
c.Phone2 = dr["Fax"].ToString();
if (dr["AltPhone"].ToString() != "")
c.Phone3 = dr["AltPhone"].ToString();
if (dr["Email"].ToString() != "")
c.Phone3 = dr["AltPhone"].ToString();
if (dr["Email"].ToString() != "")
c.EmailAddress = dr["Email"].ToString();
if (dr["Account"].ToString() != "")
if (dr["Account"].ToString() != "")
c.AccountNumber = dr["Account"].ToString();
//Try to save and return errors if not in alerrors
var r = await PostAsync($"vendor", Newtonsoft.Json.JsonConvert.SerializeObject(c));
@@ -3912,25 +3912,7 @@ namespace AyaNovaQBI
//Link
var m = new IntegrationItem { AType = AyaType.Vendor, IntegrationItemName = sName, IntegrationItemId = QuickBooksID, LastSync = DateTime.Now, ObjectId = newId };
QBIntegration.Items.Add(m);
await util.SaveIntegrationObject();
//if (!c.IsSavable)
//{
// alErrors.Add("ImportQBVendor: AyaNova won't allow import of " + c.Name + "\r\n" +
// "Due to the following broken rules:\r\n" + c.GetBrokenRulesString());
// return;
//}
//c = (Vendor)c.Save();
////Link
//IntegrationMap m = QBI.Maps.Add(QBI);
//m.Name = sName;
//m.RootObjectID = c.ID;
//m.RootObjectType = RootObjectTypes.Vendor;
//m.LastSync = DateTime.Now;
//m.ForeignID = QuickBooksID;
//QBI = (Integration)QBI.Save();
await util.SaveIntegrationObject();
}
catch (Exception ex)
{
@@ -3962,13 +3944,6 @@ namespace AyaNovaQBI
}
string sName = dr["FullName"].ToString();
//if (sName.Length > 255)
//{
// alErrors.Add("ImportQBRate: QuickBooks Rate name exceeds 255 character limit for AyaNova\r\n" +
// "Name: " + dr["FullName"].ToString() + "\r\n" +
// "was imported as: " + sName);
// sName = sName.Substring(0, 255);
//}
try
{
//already a Rate by that name
@@ -4050,13 +4025,7 @@ namespace AyaNovaQBI
}
string sName = dr["FullName"].ToString();
//if (sName.Length > 255)
//{
// alErrors.Add("ImportQBRate: QuickBooks Rate name exceeds 255 character limit for AyaNova\r\n" +
// "Name: " + dr["FullName"].ToString() + "\r\n" +
// "was imported as: " + sName);
// sName = sName.Substring(0, 255);
//}
try
{
//already a Rate by that name
@@ -4068,9 +4037,7 @@ namespace AyaNovaQBI
}
//Import seems safe...
//Rates rates = Rates.GetItems(false);
//Rate c = rates.Add();
//c.RateType = AsRateType;
TravelRate c = new TravelRate();
c.Name = sName;
c.Charge = (decimal)dr["Price"];
@@ -4078,28 +4045,7 @@ namespace AyaNovaQBI
c.Cost = (decimal)dr["Cost"];
c.Notes = T(255, dr["SalesDesc"].ToString());
c.Active = true;
// c.RateUnitChargeDescriptionID = MostLikelyRateUnitChargeDescriptionID;
//if (!c.IsSavable)
//{
// alErrors.Add("ImportQBRate: AyaNova won't allow import of " + c.Name + "\r\n" +
// "Due to the following broken rules:\r\n" + c.GetBrokenRulesString());
// return;
//}
//rates = (Rates)rates.Save();
////Link
//IntegrationMap m = QBI.Maps.Add(QBI);
//m.Name = sName;
//m.RootObjectID = c.ID;
//m.RootObjectType = RootObjectTypes.Rate;
//m.LastSync = DateTime.Now;
//m.ForeignID = QuickBooksID;
//QBI = (Integration)QBI.Save();
var r = await PostAsync($"travel-rate", Newtonsoft.Json.JsonConvert.SerializeObject(c));
long newId = IdFromResponse(r);
@@ -4122,8 +4068,6 @@ namespace AyaNovaQBI
public static async Task RefreshAyaNovaPartFromQBAsync(IntegrationItem im, bool pricesOnly = false)
{
if (im == null) return;//this part is not linked
@@ -4169,13 +4113,6 @@ namespace AyaNovaQBI
}
string sName = dr["FullName"].ToString();
//if (sName.Length > 255)
//{
// alErrors.Add("ImportQBPart: QuickBooks Part name exceeds 255 character limit for AyaNova part number\r\n" +
// "Name: " + dr["FullName"].ToString() + "\r\n" +
// "was imported as: " + sName);
// sName = sName.Substring(0, 255);
//}
try
{
//already a Part by that number?
@@ -4196,27 +4133,6 @@ namespace AyaNovaQBI
c.Cost = (decimal)dr["Cost"];
c.Active = true;
//if (!c.IsSavable)
//{
// alErrors.Add("ImportQBPart: AyaNova won't allow import of " + c.Name + "\r\n" +
// "Due to the following broken rules:\r\n" + c.GetBrokenRulesString());
// return;
//}
////Save and get ready to provide the ID
//c = (Part)c.Save();
////Link
//IntegrationMap m = QBI.Maps.Add(QBI);
//m.Name = sName;
//m.RootObjectID = c.ID;
//m.RootObjectType = RootObjectTypes.Part;
//m.LastSync = DateTime.Now;
//m.ForeignID = QuickBooksID;
//QBI = (Integration)QBI.Save();
//Try to save and return errors if not in alerrors
var r = await PostAsync($"part", Newtonsoft.Json.JsonConvert.SerializeObject(c));
long newId = IdFromResponse(r);
@@ -4344,7 +4260,7 @@ namespace AyaNovaQBI
ca.BillAddress.Addr2.SetValue(T(41, sad[0].TrimEnd()));
if (sad.GetLength(0) > 1)
ca.BillAddress.Addr3.SetValue(T(41, sad[1].TrimEnd()));
if (QVersion > 1.1 && sad.GetLength(0) > 3)//4th address line is 2 or newer
ca.BillAddress.Addr4.SetValue(T(41, sad[2].TrimEnd()));
@@ -4472,11 +4388,6 @@ namespace AyaNovaQBI
}
}
/// <summary>
/// Import the indicated client
/// to QuickBooks customer record
@@ -4816,7 +4727,7 @@ namespace AyaNovaQBI
dr["Modified"] = DateTime.Now;//ditto
dr["Account"] = "";
ca.Name.SetValue(sName);
ca.Name.SetValue(sName);
ca.Contact.SetValue(T(41, c.Contact));
//ca.LastName.SetValue(T(25, c.Contact));
@@ -4828,7 +4739,7 @@ namespace AyaNovaQBI
ca.AltPhone.SetValue(T(21, c.Phone3));
ca.Email.SetValue(T(99, c.EmailAddress));
if (!string.IsNullOrWhiteSpace(c.PostAddress))
@@ -4988,8 +4899,6 @@ namespace AyaNovaQBI
//Case 687
ca.Contact.SetValue(T(41, c.Contact));
//ca.FirstName.SetValue(T(25,Primary.FirstName));
//ca.LastName.SetValue(T(25, c.Contact));
if (c.Phone1 != null)
ca.Phone.SetValue(T(21, c.Phone1));
@@ -5087,27 +4996,6 @@ namespace AyaNovaQBI
///// <summary>
///// Refresh the list of AyaNova parts to their linked QuickBooks item records
///// </summary>
///// <param name="objectIDList"></param>
//public static async Task RefreshQBPartFromAyaNova(List<long> objectIDList)
//{
// foreach (long id in objectIDList)
// {
// try
// {
// var r = await GetAsync($"part/{id}");
// var c = r.ObjectResponse["data"].ToObject<Part>();
// await RefreshQBPartFromAyaNova(c);
// }
// catch { };
// }
//}
/// <summary>
/// Refresh the indicated AyaNova part
/// to it's linked QuickBooks item record
@@ -5130,7 +5018,7 @@ namespace AyaNovaQBI
string sDescription = c.Description;// PartPickList.GetOnePart(c.ID)[0].DisplayName(AyaBizUtils.GlobalSettings.DefaultPartDisplayFormat);
string sDescription = c.Description ?? "";// PartPickList.GetOnePart(c.ID)[0].DisplayName(AyaBizUtils.GlobalSettings.DefaultPartDisplayFormat);
if (sDescription.Length > 4095)
sDescription = sDescription.Substring(0, 4095);
@@ -5312,7 +5200,7 @@ namespace AyaNovaQBI
"will be imported as: " + sName);
}
string sDescription = c.Description;//PartPickList.GetOnePart(c.ID)[0].DisplayName(AyaBizUtils.GlobalSettings.DefaultPartDisplayFormat);
string sDescription = c.Description ?? "";//PartPickList.GetOnePart(c.ID)[0].DisplayName(AyaBizUtils.GlobalSettings.DefaultPartDisplayFormat);
if (sDescription.Length > 4095)
{
sDescription = sDescription.Substring(0, 4095);
@@ -5752,7 +5640,7 @@ namespace AyaNovaQBI
private static string T(int nLength, string s)
{
if (s == null || s == "") return "";
if (string.IsNullOrWhiteSpace(s)) return "";
if (s.Length <= nLength) return s;
else
return s.Substring(0, nLength);