Exemplo n.º 1
0
        public async Task <JsonResult> GetRegions([FromBody] GetRegionsRequest request)
        {
            var regionsList = new List <RegionResource>();

            try
            {
                var result = await _countryService.FindByIdInclusive(request.CountryId, x => x.Include(p => p.Regions));

                if (!result.Success)
                {
                    Alert($"Error! {result.Message}", NotificationType.info, Int32.Parse(_appConfig.Value.NotificationDisplayTime));
                    return(Json(regionsList));
                }

                var res = result.Data.Regions;
                foreach (var item in res)
                {
                    regionsList.Add(new RegionResource {
                        Id = item.Id, Name = item.Name
                    });
                }
                return(Json(regionsList));
            }
            catch (Exception ex)
            {
                Alert($"Error! {ex.Message}", NotificationType.error, Int32.Parse(_appConfig.Value.NotificationDisplayTime));
                return(Json(regionsList));
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Retrieve a list of regions for a specified country using its ISO code
        /// </summary>
        /// <param name="param"></param>
        /// <returns>A list of Region</returns>
        public async Task <IEnumerable <Region> > RetrieveRegions(RetrieveCountryParam param)
        {
            if (string.IsNullOrWhiteSpace(param.IsoCode))
            {
                throw new ArgumentException(GetMessageOfNullWhiteSpace(nameof(param.IsoCode)), nameof(param));
            }
            if (param.CultureInfo == null)
            {
                throw new ArgumentException(GetMessageOfNull(nameof(param.CultureInfo)), nameof(param));
            }

            var regionsCacheKey = new CacheKey(CacheConfigurationCategoryNames.Regions)
            {
                CultureInfo = param.CultureInfo
            };

            regionsCacheKey.AppendKeyParts(param.IsoCode);

            var result = await _cacheProvider.GetOrAddAsync(regionsCacheKey, () =>
            {
                var request = new GetRegionsRequest
                {
                    CountryIsoCode     = param.IsoCode,
                    CultureName        = param.CultureInfo.Name,
                    IncludeUnsupported = false
                };

                return(_overtureClient.SendAsync(request));
            }).ConfigureAwait(false);

            return(result);
        }
Exemplo n.º 3
0
 /// <summary>
 /// Gets the list of region entities.
 /// </summary>
 /// <param name="request">The request.</param>
 /// <returns>
 /// The list of region entities
 /// </returns>
 /// <exception cref="CmsApiException"></exception>
 public DataListResponse<Region> GetRegions(GetRegionsRequest request = null)
 {
     try
     {
         return Repository.ToDataListResponse(request);
     }
     catch (Exception inner)
     {
         const string message = "Failed to get regions list.";
         Logger.Error(message, inner);
         throw new CmsApiException(message, inner);
     }
 }
Exemplo n.º 4
0
 /// <summary>
 /// Gets the list of region entities.
 /// </summary>
 /// <param name="request">The request.</param>
 /// <returns>
 /// The list of region entities
 /// </returns>
 /// <exception cref="CmsApiException"></exception>
 public DataListResponse <Region> GetRegions(GetRegionsRequest request = null)
 {
     try
     {
         return(Repository.ToDataListResponse(request));
     }
     catch (Exception inner)
     {
         const string message = "Failed to get regions list.";
         Logger.Error(message, inner);
         throw new CmsApiException(message, inner);
     }
 }
Exemplo n.º 5
0
        /// <summary>
        /// GetRegions接口的同步版本,获取控制台展示region列表
        /// </summary>
        /// <param name="req">参考<see cref="GetRegionsRequest"/></param>
        /// <returns>参考<see cref="GetRegionsResponse"/>实例</returns>
        public GetRegionsResponse GetRegionsSync(GetRegionsRequest req)
        {
            JsonResponseModel <GetRegionsResponse> rsp = null;

            try
            {
                var strResp = this.InternalRequestSync(req, "GetRegions");
                rsp = JsonConvert.DeserializeObject <JsonResponseModel <GetRegionsResponse> >(strResp);
            }
            catch (JsonSerializationException e)
            {
                throw new TencentCloudSDKException(e.Message);
            }
            return(rsp.Response);
        }
Exemplo n.º 6
0
        public async Task <IActionResult> GetRegions(string countryCode)
        {
            try
            {
                var request = new GetRegionsRequest()
                {
                    CountryCode = countryCode
                };

                return(Ok(new Success(await Mediator.Send(request))));
            }
            catch (Exception exception)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, new InternalServerError(exception)));
            }
        }
Exemplo n.º 7
0
            /// <summary>
            /// Handle
            /// </summary>
            /// <param name="request"></param>
            /// <param name="cancellationToken"></param>
            /// <returns></returns>
            public override async Task <List <GetRegionsResponse> > Handle(GetRegionsRequest request, CancellationToken cancellationToken)
            {
                var regions = await repository.GetAll()
                              .Include(r => r.Pais)
                              .Select(r => new { r.Id, r.Nombre, Pais = new { r.Pais.Id, r.Pais.Nombre } })
                              .Distinct()
                              .ToListAsync().ConfigureAwait(false);

                var result = regions.Select(c => new GetRegionsResponse()
                {
                    Id        = c.Id,
                    Name      = c.Nombre,
                    IdCountry = c.Pais.Id,
                    Country   = c.Pais.Nombre
                }).ToList();

                SendTimeOperationToLogger("GetRegions");

                return(result);
            }
Exemplo n.º 8
0
 public GetRegionsResponse GetRegions(GetRegionsRequest request)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 9
0
 /// <summary>
 ///  可选地域
 /// </summary>
 /// <param name="request">请求参数信息</param>
 /// <returns>请求结果信息</returns>
 public async Task <GetRegionsResponse> GetRegions(GetRegionsRequest request)
 {
     return(await new GetRegionsExecutor().Client(this).Execute <GetRegionsResponse, GetRegionsResult, GetRegionsRequest>(request).ConfigureAwait(false));
 }
Exemplo n.º 10
0
 /// <summary>
 ///  可选地域
 /// </summary>
 /// <param name="request">请求参数信息</param>
 /// <returns>请求结果信息</returns>
 public GetRegionsResponse GetRegions(GetRegionsRequest request)
 {
     return(new GetRegionsExecutor().Client(this).Execute <GetRegionsResponse, GetRegionsResult, GetRegionsRequest>(request));
 }