Beispiel #1
0
        public void Parse(string xmlData)
        {
            try
            {
                if (xmlData.Trim().Length > 0)
                {
                    var xdoc = new XmlDocument();
                    xdoc.LoadXml(xmlData);

                    Errors.Clear();
                    XmlNodeList errorNodes;
                    errorNodes = xdoc.SelectNodes("/IntlRateV2Response/Error");
                    if (errorNodes != null)
                    {
                        foreach (XmlNode en in errorNodes)
                        {
                            var e = new USPSError(en);
                            Errors.Add(e);
                        }
                    }

                    Packages.Clear();
                    XmlNodeList packageNodes;
                    packageNodes = xdoc.SelectNodes("/IntlRateV2Response/Package");
                    if (packageNodes != null)
                    {
                        foreach (XmlNode pn in packageNodes)
                        {
                            var p = new InternationalPackage(pn);
                            Packages.Add(p);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                var e = new USPSError
                {
                    Source      = ex.StackTrace,
                    Description = "Hotcakes Parsing Error: " + ex.Message
                };
                Errors.Add(e);
            }
        }
        public void Parse(string xmlData)
        {
            try
            {
                if (xmlData.Trim().Length > 0)
                {
                    XmlDocument xdoc = new XmlDocument();
                    xdoc.LoadXml(xmlData);

                    _Errors.Clear();
                    XmlNodeList errorNodes;
                    errorNodes = xdoc.SelectNodes("/RateV4Response/Error");
                    if (errorNodes != null)
                    {
                        foreach (XmlNode en in errorNodes)
                        {
                            USPSError e = new USPSError(en);
                            _Errors.Add(e);
                        }
                    }

                    _Packages.Clear();
                    XmlNodeList packageNodes;
                    packageNodes = xdoc.SelectNodes("/RateV4Response/Package");
                    if (packageNodes != null)
                    {
                        foreach (XmlNode pn in packageNodes)
                        {
                            DomesticPackage p = new DomesticPackage(pn);
                            _Packages.Add(p);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                USPSError e = new USPSError();
                e.Source = ex.StackTrace;
                e.Description = "BV Software Parsing Error: " + ex.Message;
                _Errors.Add(e);
            }

        }
        public void Parse(string xmlData)
        {
            try
            {
                if (xmlData.Trim().Length > 0)
                {
                    XmlDocument xdoc = new XmlDocument();
                    xdoc.LoadXml(xmlData);

                    _Errors.Clear();
                    XmlNodeList errorNodes;
                    errorNodes = xdoc.SelectNodes("/RateV4Response/Error");
                    if (errorNodes != null)
                    {
                        foreach (XmlNode en in errorNodes)
                        {
                            USPSError e = new USPSError(en);
                            _Errors.Add(e);
                        }
                    }

                    _Packages.Clear();
                    XmlNodeList packageNodes;
                    packageNodes = xdoc.SelectNodes("/RateV4Response/Package");
                    if (packageNodes != null)
                    {
                        foreach (XmlNode pn in packageNodes)
                        {
                            DomesticPackage p = new DomesticPackage(pn);
                            _Packages.Add(p);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                USPSError e = new USPSError();
                e.Source      = ex.StackTrace;
                e.Description = "BV Software Parsing Error: " + ex.Message;
                _Errors.Add(e);
            }
        }
 protected void AddError(USPSError error)
 {
     Shipment.ServerErrors.Add(error);
 }
 protected void AddError(USPSError error)
 {
     Shipment.ServerErrors.Add(error);
 }
        private ValidationResponse ParseResult(string rawResponse)
        {
            var response = new ValidationResponse();
            var document = XElement.Parse(rawResponse, LoadOptions.None);
            var address  = document.Descendants("Address").First();

            if (address.Descendants("Error").Any())
            {
                var error     = address.Descendants("Error").First();
                var uspsError = new USPSError();
                if (error.Element("Description") != null)
                {
                    uspsError.Description = error.Element("Description").Value;
                }
                if (error.Element("Source") != null)
                {
                    uspsError.Source = error.Element("Source").Value;
                }
                if (error.Element("HelpContext") != null)
                {
                    uspsError.HelpContext = error.Element("HelpContext").Value;
                }
                if (error.Element("HelpFile") != null)
                {
                    uspsError.HelpFile = error.Element("HelpFile").Value;
                }
                if (error.Element("Number") != null)
                {
                    uspsError.Number = error.Element("Number").Value;
                }
                response.Error = uspsError;
            }
            else
            {
                var cleansedAddress = new UserAddress();
                if (address.Element("Address1") != null)
                {
                    cleansedAddress.Address1 = address.Element("Address1").Value;
                }
                if (address.Element("Address2") != null)
                {
                    cleansedAddress.Address2 = address.Element("Address2").Value;
                }
                if (address.Element("City") != null)
                {
                    cleansedAddress.City = address.Element("City").Value;
                }
                if (address.Element("State") != null)
                {
                    cleansedAddress.StateProvince = address.Element("State").Value;
                }
                if (address.Element("Zip5") != null)
                {
                    cleansedAddress.PostalCode = address.Element("Zip5").Value;
                    if (address.Element("Zip4") != null)
                    {
                        var zip4 = address.Element("Zip4").Value;
                        if (!String.IsNullOrWhiteSpace(zip4))
                        {
                            cleansedAddress.PostalCode += String.Format("-{0}", zip4);
                        }
                    }
                }
                response.CleansedAddress = cleansedAddress;
            }
            return(response);
        }