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