private GetCountryRegionDataResponse GetCountryRegion(GetCountryRegionDataRequest request) { ThrowIf.Null(request.QueryResultSettings, "settings"); string languageId = request.LanguageId; if (string.IsNullOrWhiteSpace(languageId)) { var getDefaultLanguageIdDataRequest = new GetDefaultLanguageIdDataRequest(); languageId = request.RequestContext.Runtime.Execute <SingleEntityDataServiceResponse <string> >(getDefaultLanguageIdDataRequest, request.RequestContext).Entity; } var parameterSet = new ParameterSet(); parameterSet["nvc_LanguageId"] = languageId; Tuple <PagedResult <CountryRegionInfo>, ReadOnlyCollection <AddressFormattingInfo> > countryRegions; using (SqlServerDatabaseContext sqlServerDatabaseContext = new SqlServerDatabaseContext(request)) { countryRegions = sqlServerDatabaseContext.ExecuteStoredProcedure <CountryRegionInfo, AddressFormattingInfo>(GetCountryRegionInfoSprocName, parameterSet); } return(new GetCountryRegionDataResponse(countryRegions.Item1, countryRegions.Item2)); }
/// <summary> /// Gets the default language id for the channel. /// </summary> /// <param name="context">The request context.</param> /// <returns>Language identifier.</returns> private static string GetDefaultLanguageId(RequestContext context) { var getDefaultLanguageIdDataRequest = new GetDefaultLanguageIdDataRequest(); string defaultLanguageId = context.Runtime.Execute <SingleEntityDataServiceResponse <string> >(getDefaultLanguageIdDataRequest, context).Entity; return(defaultLanguageId); }
/// <summary> /// Initializes a new instance of the <see cref="CountryRegionMapper"/> class. /// </summary> /// <param name="context">The request context.</param> public CountryRegionMapper(RequestContext context) { if (context == null) { throw new ArgumentNullException("context"); } GetDefaultLanguageIdDataRequest languageIdRequest = new GetDefaultLanguageIdDataRequest(); string languageId = context.Execute <SingleEntityDataServiceResponse <string> >(languageIdRequest).Entity; GetCountryRegionDataRequest countryRequest = new GetCountryRegionDataRequest(languageId) { QueryResultSettings = QueryResultSettings.AllRecords }; var response = context.Execute <GetCountryRegionDataResponse>(countryRequest); IEnumerable <CountryRegionInfo> countryRegions = response.CountryRegionInfo.Results; this.mapCountryRegionToIsoCode = countryRegions.ToDictionary(key => key.CountryRegionId, value => value.ISOCode); this.mapIsoCodeToCountryRegion = countryRegions.ToDictionary(key => key.ISOCode, value => value.CountryRegionId); }