protected string GetCountryTranslation(int?countryId) { return(countryId == null ? string.Empty : StyleContext.GetTranslation(DomainValueRepository.GetCountry(countryId.Value).NameCode)); }
public Address GetAddress(string address, string countryIso2Code = "ua", string language = "uk") { var googleAddress = GetGoogleGeoCodeAddressResponse(address, countryIso2Code, language); Address result = Address.Empty(); if (googleAddress.Status.ToUpper() == "OK") { var addrComponents = googleAddress.Results[0].AddressComponents; var addressComponentCountry = addrComponents.FirstOrDefault(addr => addr.Types.Contains(Country)); if (addressComponentCountry != null) { var country = _domainValueRepository.GetCountry(addressComponentCountry.ShortName); if (country != null) { result.CountryId = country.Id; } } var city = addrComponents.FirstOrDefault(addr => addr.Types.Contains(City)); if (city != null) { result.City = city.ShortName; } var street = addrComponents.FirstOrDefault(addr => addr.Types.Contains(Street)); if (street != null) { result.Street = street.ShortName; } var number = addrComponents.FirstOrDefault(addr => addr.Types.Contains(StreetNumber)); if (number != null) { result.Number = number.ShortName; } var postalCode = addrComponents.FirstOrDefault(addr => addr.Types.Contains(PostalCode)); if (postalCode != null) { result.PostalCode = postalCode.ShortName; } var geometry = googleAddress.Results[0].Geometry; var latitude = geometry.Location.Lat; if (latitude != null) { double lat; double.TryParse(latitude, NumberStyles.Float, CultureInfo.InvariantCulture, out lat); result.Latitude = lat; } var longitude = geometry.Location.Lng; if (longitude != null) { double lng; double.TryParse(longitude, NumberStyles.Float, CultureInfo.InvariantCulture, out lng); result.Longitude = lng; } var formattedAddress = googleAddress.Results[0].FormattedAddress; result.FormattedAddress = formattedAddress; } return(result); }