internal string Mult(List <int> listNumbers) { var requestMult = new RequestMult { Factors = listNumbers.ToArray() }; var result = _client.Post <ResponseMult>("/mult", requestMult); return((string)result.RawData); }
public async Task Task_Mult_Numbers() { int[] numbers = { 8, 3, 2 }; RequestMult requestMult = new RequestMult() { Factors = numbers }; string strPayload = JsonConvert.SerializeObject(requestMult); HttpContent content = new StringContent(strPayload, Encoding.UTF8, "application/json"); var response = await _client.PostAsync("api/v1/calculator/mult", content); response.EnsureSuccessStatusCode(); var responseString = await response.Content.ReadAsStringAsync(); Assert.Equal("{\"product\":48}", responseString); }
public async Task <IActionResult> Mult([FromBody] RequestMult requestMult, CancellationToken ct = default(CancellationToken)) { try { bool save = Request.Headers.ContainsKey("X-Evl-Tracking-Id"); var id = save ? Request.Headers["X-Evl-Tracking-Id"].ToString() : null; var response = await _calculatorSupervisor.MultAsync(requestMult, save, id, ct); return(Ok(response)); } catch (Exception ex) { var response = new ResponseCanonic() { ErrorCode = Enum.GetName(typeof(HttpStatusCode), HttpStatusCode.InternalServerError), ErrorStatus = (int)HttpStatusCode.InternalServerError, ErrorMessage = ex.Message }; return(StatusCode((int)HttpStatusCode.InternalServerError, response)); } }
public async Task <ResponseMult> MultAsync(RequestMult requestMult, bool save, string id, CancellationToken ct = default(CancellationToken)) { var resMult = 1; foreach (var num in requestMult.Factors) { resMult *= num; } if (save) { await _operationRepository.AddAsync(new Model.Entities.Operation() { IdHeader = id, OperationType = "Mult", Date = DateTime.Now.ToString(), Calculation = $"{string.Join(" * ", requestMult.Factors)} = {resMult}" }); } return(new ResponseMult() { Product = resMult }); }