Missed in last commit for BOD-83.
This commit is contained in:
@@ -99,19 +99,77 @@ namespace BodyshopPartner.Utils
|
|||||||
public static string CreateCustomerIfNotExist(XDocument requestXML)
|
public static string CreateCustomerIfNotExist(XDocument requestXML)
|
||||||
{
|
{
|
||||||
string ListID = ParseCustomerId(requestXML);
|
string ListID = ParseCustomerId(requestXML);
|
||||||
|
if (string.IsNullOrEmpty(ListID))
|
||||||
//Could be null or exist, we need to check.
|
//Could be null or exist, we need to check.
|
||||||
QBSessionManager sessionManager = new QBSessionManager();
|
{
|
||||||
|
QBSessionManager sessionManager = new QBSessionManager();
|
||||||
|
IMsgSetRequest requestMsgSet = sessionManager.CreateMsgSetRequest("CA", 13, 0);
|
||||||
|
requestMsgSet.Attributes.OnError = ENRqOnError.roeContinue;
|
||||||
|
|
||||||
//Create the message set request object to hold our request
|
ICustomerAdd CustomerAddRq = requestMsgSet.AppendCustomerAddRq();
|
||||||
IMsgSetRequest requestMsgSet = sessionManager.CreateMsgSetRequest("CA", 13, 0);
|
//Get the address & Other information from the request XML DOC.
|
||||||
requestMsgSet.Attributes.OnError = ENRqOnError.roeContinue;
|
CustomerAddRq.Name.SetValue(requestXML.Descendants("CustomerRef").First()?.Element("FullName")?.Value);
|
||||||
ICustomerQuery CustomerQueryRq = requestMsgSet.AppendCustomerQueryRq();
|
|
||||||
CustomerQueryRq.ORCustomerListQuery.ListIDList.Add(ListID);
|
|
||||||
|
|
||||||
string ret = ProcessQBXmlRequest(requestMsgSet.ToXMLString());
|
// ICustomerQuery CustomerQueryRq = requestMsgSet.AppendCustomerQueryRq();
|
||||||
|
//CustomerQueryRq.ORCustomerListQuery.ListIDList.Add(ListID);
|
||||||
|
|
||||||
return requestMsgSet.ToXMLString();
|
string ret = ProcessQBXmlRequest(requestMsgSet.ToXMLString());
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return ListID;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public static string[] parseCustomerQueryRs(string xml)
|
||||||
|
{
|
||||||
|
string[] retVal;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
XDocument responseXml = XDocument.Parse(xml);
|
||||||
|
XElement CustomerQueryRs = responseXml.Descendants("CustomerQueryRs").First();
|
||||||
|
XAttribute statusCode = CustomerQueryRs.Attribute(XName.Get("statusCode"));
|
||||||
|
|
||||||
|
if (statusCode.Value?.ToString() == "0")
|
||||||
|
{
|
||||||
|
//All good, return the ID.
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//Need to create a new customer and return that ID.
|
||||||
|
}
|
||||||
|
|
||||||
|
//XmlNodeList RsNodeList = null;
|
||||||
|
//XmlDocument Doc = new XmlDocument();
|
||||||
|
//Doc.LoadXml(xml);
|
||||||
|
//RsNodeList = Doc.GetElementsByTagName("CustomerQueryRs");
|
||||||
|
//XmlAttributeCollection rsAttributes = RsNodeList.Item(0).Attributes;
|
||||||
|
//XmlNode statusCode = rsAttributes.GetNamedItem("statusCode");
|
||||||
|
//if (Convert.ToString(statusCode.Value) == "0")
|
||||||
|
//{
|
||||||
|
// //Found an ID for this person. Looks all good.
|
||||||
|
// retVal = new string[1];
|
||||||
|
// //xml.Desce
|
||||||
|
//}
|
||||||
|
//else
|
||||||
|
//{
|
||||||
|
// retVal = new string[3];
|
||||||
|
// retVal[0] = Convert.ToString(statusCode.Value);
|
||||||
|
// XmlNode statusSeverity = rsAttributes.GetNamedItem("statusSeverity");
|
||||||
|
// retVal[1] = Convert.ToString(statusSeverity.Value);
|
||||||
|
// XmlNode statusMessage = rsAttributes.GetNamedItem("statusMessage");
|
||||||
|
// retVal[2] = Convert.ToString(statusMessage.Value);
|
||||||
|
//}
|
||||||
|
//;
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
logger.Error("Error encountered when parsing Invoice info returned from QuickBooks: " + e.Message);
|
||||||
|
retVal = null;
|
||||||
|
}
|
||||||
|
return retVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static string ParseCustomerId(XDocument xml)
|
private static string ParseCustomerId(XDocument xml)
|
||||||
|
|||||||
Reference in New Issue
Block a user