/// <summary> /// Gets the Multidetail. /// </summary> /// <param name="multidetailParameter">The Multidetail parameter request.</param> /// <returns></returns> //public async Task<APIResponse> GetAllMultiDetails(MultidetailParameter multidetailParameter) //{ // try // { // string serializedMultidetail; // List<MultidetailResponse> multidetail; // var encodedMultidetail = await distributedCache.GetAsync(IdentityServiceOperation.GetWalletCacheName); // if (encodedMultidetail != null) // { // serializedMultidetail = Encoding.UTF8.GetString(encodedMultidetail); // multidetail = JsonConvert.DeserializeObject<List<MultidetailResponse>>(serializedMultidetail); // } // else // { // var client = httpClientFactory.CreateClient(IdentityServiceOperation.serviceName); // UriBuilder url = new UriBuilder(servicesConfig.Wallet + IdentityServiceOperation.GetAllMultiDetails()); // url.Query = QueryStringHelper.ConvertToQueryString(multidetailParameter); // var response = await client.GetAsync(url.ToString()); // multidetail = JsonConvert.DeserializeObject<List<MultidetailResponse>>(await response.Content.ReadAsStringAsync()); // serializedMultidetail = JsonConvert.SerializeObject(multidetail); // encodedMultidetail = Encoding.UTF8.GetBytes(serializedMultidetail); // var options = new DistributedCacheEntryOptions() // .SetSlidingExpiration(TimeSpan.FromMinutes(1)) // .SetAbsoluteExpiration(DateTime.Now.AddHours(1)); // await distributedCache.SetAsync(IdentityServiceOperation.GetWalletCacheName, encodedMultidetail, options); // } // return new APIResponse(multidetail, HttpStatusCode.OK); // } // catch (Exception ex) // { // logger.Error(ex, "Exception in method 'GetAllMultiDetails()'"); // var exMessage = ex.InnerException != null ? ex.InnerException.Message : ex.Message; // return new APIResponse(exMessage, HttpStatusCode.InternalServerError); // } //} public async Task <APIResponse> GetAllMultiDetails(MultidetailParameter multidetailParameter) { try { var client = httpClientFactory.CreateClient(IdentityServiceOperation.serviceName); UriBuilder url = new UriBuilder(servicesConfig.Wallet + IdentityServiceOperation.GetMultiDetails()); url.Query = QueryStringHelper.ConvertToQueryString(multidetailParameter); var response = await client.GetAsync(url.ToString()); if (response.IsSuccessStatusCode) { var multidetail = JsonConvert.DeserializeObject <List <MultidetailResponse> >(await response.Content.ReadAsStringAsync()); return(new APIResponse(multidetail, HttpStatusCode.OK)); } return(new APIResponse(response.StatusCode)); } catch (Exception ex) { logger.Error(ex, "Exception in method 'GetAllMultiDetails()'"); var exMessage = ex.InnerException != null ? ex.InnerException.Message : ex.Message; return(new APIResponse(exMessage, HttpStatusCode.InternalServerError)); } }
public async Task <IActionResult> GetAllMultiDetails([FromQuery] MultidetailParameter multidetailParameter) { var result = await multidetailService.GetAllMultiDetails(multidetailParameter); return(StatusCode((int)result.Code, result.Value)); }