/// <summary> /// Metodo que calcula la raiz cuadrada /// </summary> /// <param name="r"></param> /// <returns></returns> public async Task <RaizCuadradaResponse> CalcularRaizCuadrada(RaizCuadradaRequest r) { var result = await Task.Run(() => Math.Sqrt(r.Numero)); await GuardarDiario(r, result.ToString()); return(new RaizCuadradaResponse { Cuadrado = result }); }
/// <summary> /// Implementación de llamado al servicio de raiz cuadrada de la calculadora /// </summary> /// <param name="r"></param> /// <returns></returns> public async Task <RaizCuadradaResponse> CalcularRaizCuadrada(RaizCuadradaRequest r) { var client = new RestClient(_apiUrl); var request = new RestRequest($"{CalculatorApiResource}/Sqrt", Method.POST, DataFormat.Json); if (!string.IsNullOrEmpty(r.IdSeguimiento)) { request.AddHeader(IdHeader, r.IdSeguimiento); } request.AddParameter("application/json; charset=utf-8", JsonConvert.SerializeObject(r), ParameterType.RequestBody); return(await client.PostAsync <RaizCuadradaResponse>(request)); }
static async Task Main(string[] args) { RegisterServices(); var apiConsumerService = _serviceProvider.GetService <IApiConsumerService>(); //Valores estaticos const string idSeguimiento = "operaciones123"; //Llamado al API para realizar una SUMA var sumaRequest = new SumaRequest { Sumandos = new List <double>() { 4, 5, 6, 10 }, IdSeguimiento = idSeguimiento }; var sumaResponse = await apiConsumerService.Sumar(sumaRequest); Console.WriteLine(sumaResponse); //Llamado al API para realizar una resta var restaRequest = new RestaRequest { Minuendo = 10, Sustraendo = 6, IdSeguimiento = "operaciones123" }; var restaResponse = await apiConsumerService.Restar(restaRequest); Console.WriteLine(restaResponse); //Llamado al API para realizar una multiplicacion var multiRequest = new MultiplicacionRequest { Factores = new List <double>() { 4, 5 }, IdSeguimiento = "operaciones123" }; var multiResponse = await apiConsumerService.Multiplicar(multiRequest); Console.WriteLine(multiResponse); //Llamado al API para realizar una division var divRequest = new DivisionRequest { Dividendo = 4, Divisor = 20, IdSeguimiento = "operaciones123" }; var divResponse = await apiConsumerService.Dividir(divRequest); Console.WriteLine(divResponse); //Llamado al API para realizar una raiz cuadrada var raizRequest = new RaizCuadradaRequest { Numero = 9, IdSeguimiento = "operaciones123" }; var raizResponse = await apiConsumerService.CalcularRaizCuadrada(raizRequest); Console.WriteLine(raizResponse); //Llamado al API para consultar el diario var consultaDiarioRequest = new ConsultaDiarioRequest { IdSeguimiento = idSeguimiento }; var consultaDiarioResponse = await apiConsumerService.CosultarDiario(consultaDiarioRequest); Console.WriteLine(consultaDiarioResponse); Console.WriteLine("-----------------------------------------------------------------"); Console.WriteLine("Aplicación Finalizada"); Console.ReadKey(); }
public async Task <ActionResult <RaizCuadradaResponse> > CalcularRaizCuadradaAsync([FromBody] RaizCuadradaRequest r) { r.IdSeguimiento = Request.Headers[IdHeader] == StringValues.Empty ? string.Empty : Request.Headers[IdHeader].ToString(); var response = await _calculatorService.CalcularRaizCuadrada(r); Log.Information(r.ToRegistroDiario(response.Cuadrado.ToString()).ToString()); return(Ok(response)); }