예제 #1
0
        private QuoteResult ParseUSPSResult(XDocument xDocmnt, ref QuoteResult quoteResult)
        {
            IEnumerable <XElement> fedChildNodes = xDocmnt.Element("usps").Descendants();
            // check the error code
            string fedRes = xDocmnt.Element("usps").Element("resp").Value;

            quoteResult.StatusCode = fedRes;
            if (fedRes != "0")
            {
                quoteResult.ErrorCode = xDocmnt.Element("usps").Element("errorCode").Value;

                quoteResult.ErrorMessage = xDocmnt.Element("usps").Element("errorMessage").Value;

                return(quoteResult);
                //return quoteRes;
            }
            foreach (var elm in fedChildNodes)
            {
                quoteResult.QuoteResults.Add(new QuoteResultItem()
                {
                    Type          = (string)elm.Name.LocalName,
                    Carrier       = "usps",
                    Name          = elm.Element("displayName").Value,
                    EstDeliveryOn = elm.Element("deliveryEstimate").Value,
                    BaseFreight   = elm.Element("baseFreight").Value,
                    Tax           = elm.Element("tax").Value,
                    TotFreight    = elm.Element("totalFreight").Value,
                    ErrorCode     = elm.Element("displayName").Value,
                    ErrorMessage  = elm.Element("displayName").Value
                });
            }

            return(quoteResult);
        }
예제 #2
0
        private QuoteResult GenerateDummyQuoteResult(QuoteRequest quoteRequest)
        {
            //string reqCode = quoteRequest[]
            List <QuoteResultItem> resItms = new List <QuoteResultItem>();

            resItms.Add(new QuoteResultItem()
            {
                BaseFreight   = "7.65",
                Carrier       = "Fedex",
                EstDeliveryOn = DateTime.Now.AddDays(5).ToShortDateString(),
                Name          = "Fedex International Priority",
                Tax           = "0",
                TotFreight    = "7.65",
                Type          = "intPriority"
            });

            resItms.Add(new QuoteResultItem()
            {
                BaseFreight   = "6.05",
                Carrier       = "Fedex",
                EstDeliveryOn = DateTime.Now.AddDays(8).ToShortDateString(),
                Name          = "Fedex International Economy",
                Tax           = "0",
                TotFreight    = "6.05",
                Type          = "intEconomy"
            });

            resItms.Add(new QuoteResultItem()
            {
                BaseFreight   = "7.05",
                Carrier       = "USPS",
                EstDeliveryOn = DateTime.Now.AddDays(6).ToShortDateString(),
                Name          = "USPS Priority Mail International",
                Tax           = "0",
                TotFreight    = "7.05",
                Type          = "priorityMailInternational"
            });

            QuoteResult result = new QuoteResult()
            {
                StatusCode   = PikchaMessages.CODE_Status200_MessageRecievedSuccess,
                ErrorCode    = "",
                QuoteResults = resItms
            };

            return(result);
        }
예제 #3
0
        private QuoteResult ParseDPQXMLResponse(XDocument xDocmnt, ref QuoteResult quoteResult)
        {
            // get fedex
            ParseFedexResult(xDocmnt, ref quoteResult);

            // get usps

            ParseUSPSResult(xDocmnt, ref quoteResult);


            return(quoteResult);

            //var results = xDocmnt.Descendants("fedex")
            //       .Select(r => new QuoteResultItem()
            //       {
            //           Carrier = "fedex",
            //           Name = r.Element("displayName").Value,
            //           Type = ""
            //           MyPath = (string)v.Attribute("path")
            //       });.ToList();
        }