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