示例#1
0
        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);
        }
示例#3
0
        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
            });
        }