Example #1
0
        /// <summary>
        /// Gets a list of street types for a locality.
        /// </summary>
        /// <param name="country">Country code.</param>
        /// <param name="city">City name.</param>
        /// <param name="locality">Locality name.</param>
        /// <returns>List of street types.</returns>
        public List <string> GetStreetTypeForCity(string country, string city, string locality)
        {
            try
            {
                var proxy = ServiceClientProvider.GetShippingServiceProxy();
                StreetsForCityRequest_V01 request = new StreetsForCityRequest_V01();
                request.Country = country;
                request.State   = city;
                request.City    = locality;
                StreetsForCityResponse_V01 response = proxy.GetStreetsForCity(new GetStreetsForCityRequest(request)).GetStreetsForCityResult as StreetsForCityResponse_V01;

                List <string> streetTypes = new List <string>();
                foreach (var street in response.Streets)
                {
                    var info = street.Split('|');
                    if (info.Length == 2 && !streetTypes.Contains(info[0]))
                    {
                        streetTypes.Add(info[0]);
                    }
                }
                return(streetTypes);
            }
            catch (Exception ex)
            {
                LoggerHelper.Error(string.Format("GetStreetTypeForCity error: Country {0}, error: {1}", country, ex.ToString()));
            }
            return(null);
        }
Example #2
0
        /// <summary>
        /// Gets a list of cities from a street type
        /// </summary>
        /// <param name="country">Country code.</param>
        /// <param name="city">City name.</param>
        /// <param name="locality">Locality name.,</param>
        /// <param name="type">Street type.</param>
        /// <returns>List of streets.</returns>
        public List <string> GetStreetForCityByType(string country, string city, string locality, string type)
        {
            try
            {
                var proxy = ServiceClientProvider.GetShippingServiceProxy();
                StreetsForCityRequest_V01 request = new StreetsForCityRequest_V01();
                request.Country = country;
                request.State   = city;
                request.City    = locality;
                StreetsForCityResponse_V01 response = proxy.GetStreetsForCity(new GetStreetsForCityRequest(request)).GetStreetsForCityResult as StreetsForCityResponse_V01;

                type = string.Format("{0}|", type);
                var byType  = response.Streets.Where(s => s.StartsWith(type));
                var streets = byType.Select(s => s.Replace(type, string.Empty)).OrderBy(c => c);
                return(streets.ToList());
            }
            catch (Exception ex)
            {
                LoggerHelper.Error(string.Format("GetStreetForCityByType error: Country {0}, error: {1}", country, ex.ToString()));
            }
            return(null);
        }