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