public async Task <decimal> GetTrolleyTotal(TrolleyCalculatorRequest request) { var token = _wooliesXConfig.Value.User.Token; var responseMessage = await _httpClient.PostAsJsonAsync($"trolleyCalculator?token={token}", request); var stringResponse = await responseMessage.Content.ReadAsStringAsync(); if (!responseMessage.IsSuccessStatusCode) { throw new DownstreamFailureException( $"failed with status code {responseMessage.StatusCode}"); } return(decimal.Parse(stringResponse)); }
public async Task <decimal> GetApiCalculatedTotal(TrolleyCalculatorRequest request) { try { decimal result; var json = JsonConvert.SerializeObject(request); var body = new StringContent(json, UnicodeEncoding.UTF8, "application/json"); var uri = this._httpClient.GetUri("trolleyCalculator"); var response = await this._httpClient.HttpClient.PostAsync(uri.Uri, body); Decimal.TryParse(await response.Content.ReadAsStringAsync(), out result); return(result); } catch (HttpRequestException exception) { //this._logger.LogError("Unable to complete post to resource {resource}", "trolleyCalculator"); throw exception; } }
public decimal RequestTrolleyPrice(TrolleyCalculatorRequest req) { string resource = "resource/trolleyCalculator"; var qs = "?token=" + _config.Token; string url = string.Format("{0}{1}{2}", _url, resource, qs); var requestBody = JsonConvert.SerializeObject(req); using (WebClient wc = new WebClient()) { wc.Headers["Content-Type"] = "application/json"; var result = wc.UploadString(url, requestBody); decimal price = 0; decimal.TryParse(result, out price); return(price); } }
public decimal Post([FromBody] TrolleyCalculatorRequest req) { var result = service.RequestTrolleyPrice(req); return(result); }
public async Task <decimal> Sort([FromServices] IExerciseThreeService service, [FromBody] TrolleyCalculatorRequest request) { return(await service.GetApiCalculatedTotal(request)); }
public async Task <IActionResult> TrolleyTotal([FromBody] TrolleyCalculatorRequest request) { var total = await _resourceService.GetTrolleyTotal(request); return(Ok(total)); }