示例#1
0
        public async Task QueryZT(string sPostalCode)
        {
            // Ask ZT about the Postal code. Working in 2017.
            // http://ziptasticapi.com
            // e.g. sPostalCode = "90210"; // http://ziptasticapi.com/90210
            // may get 503 error intermittently?

            string sReq = "http://ziptasticapi.com/" + sPostalCode;

            m_sResponse = await RequestStringAsync(sReq);

            // populate m_z from JSON
            // Newtonsoft.Json.JsonConvert.PopulateObject(m_sResponse,m_z);
            var xs = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(PostalCodeZT));
            var x  = xs.ReadObject(m_sResponse.ToMemoryStream()) as PostalCodeZT;

            m_z = new PostalCode1
            {
                PostalCode  = sPostalCode,
                City        = Formatter.ToTitleCase(x.city), // NOT all caps.
                State       = x.state,
                CountryCode = x.country,
            };
            if (m_z.CountryCode == "US")
            {
                m_z.CountryCode = "USA"; // use 3 letter code not 2 letter.
            }
        }
示例#2
0
        public async Task <bool> QueryAsync(string sPostalCode)
        {
            m_z = null;
            try
            {
                await QueryZT(sPostalCode);

                return(true);
            }
            catch
            {
                return(false);
            }
        }
示例#3
0
        public async Task QueryWSX_JUNK(string sPostalCode)
        {
            // TODO
            // Ask WSX about the Postal code.
            // http://webservicex.net/uszip.asmx?op=GetInfoByZIP (out of disk space)
            string sReq = "http://webservicex.net/uszip.asmx/GetInfoByZIP?USZip=" + sPostalCode;

            m_sResponse = await RequestStringAsync(sReq);

            // TODO populate m_z
            m_z = new PostalCode1 {
                PostalCode = sPostalCode
            };
        }
示例#4
0
        public async Task QueryUSPS(string sPostalCode)
        {
            // TODO
            // Ask USPS about the Postal code.
            // USPS (need to be sending mail)
            string       urlServer = "http://production.shippingapis.com/ShippingAPI.dll"; // Test
            const string sUserID   = "771LMGHO5723";
            string       sReq      = $"{urlServer}?API=CityStateLookup&XML=<CityStateLookupRequest%20USERID=\"{sUserID}\"><ZipCode ID=\"0\"><Zip5>{sPostalCode}</Zip5></ZipCode></CityStateLookupRequest>";

            m_sResponse = await RequestStringAsync(sReq);

            // TODO populate m_z
            m_z = new PostalCode1 {
                PostalCode = sPostalCode
            };
        }