Ejemplo n.º 1
0
        /// <summary>
        /// Implementation of addition method.
        /// </summary>
        /// <param name="additionRequest"></param>
        /// <param name="logAdd"></param>
        /// <returns></returns>
        public static AdditionResult Add(AdditionRequest additionRequest, string logAdd)
        {
            try
            {
                AdditionResult additionResult = new AdditionResult();
                int            counter        = 0;
                string         calculation    = "";

                foreach (int number in additionRequest.Addends)
                {
                    counter            += 1;
                    additionResult.Sum += number;
                    calculation        += number.ToString() + (counter == additionRequest.Addends.Length ? "" : "+");
                }

                if (int.Parse(logAdd) != 0)
                {
                    SaveLog(int.Parse(logAdd), "Suma ", calculation, additionResult.Sum);
                }


                return(additionResult);
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 2
0
        public JsonResult PostAddition([FromBody] AdditionOperands additionOperands)
        {
            AdditionResult result     = new AdditionResult();
            string         trackingId = Request.Headers[MyStaticData.HEADER_TRACKING_ID];

            result = additionService.Operate(additionOperands);

            if (trackingId != string.Empty)
            {
                Operation operation = new Operation("Sum", string.Join(" + ", additionOperands.Addends) + " = " + result.Sum, DateTime.Now);
                User      user      = new User(new TrackingId(trackingId), operation);
                operationService.SaveOperations(user);
            }

            return(Json(result));
        }
        public static IActionResult Run(
            [HttpTrigger(
                 AuthorizationLevel.Function,
                 "get",
                 Route = "add/num1/{num1}/num2/{num2}")]
            HttpRequest req,
            int num1,
            int num2,
            ILogger log)
        {
            log.LogInformation($"C# HTTP trigger function processed a request with {num1} and {num2}");

            var result = new AdditionResult
            {
                Result       = num1 + num2,
                TimeOnServer = DateTime.Now
            };

            return(new OkObjectResult(result));
        }
        /// <summary>
        /// Method that connects to the Web API service to perform the addition operation.
        /// </summary>
        /// <param name="values"></param>
        /// <param name="logAdd"></param>
        public static void Addition(AdditionRequest values, string logAdd)
        {
            try
            {
                var clientRest  = new RestClient(urlWebAPI);
                var requestRest = new RestRequest("Add", Method.POST);

                if (logAdd == "")
                {
                    logAdd = "0";
                }

                requestRest.AddHeader("x-evi-tracking-id", logAdd);

                requestRest.AddParameter("application/json", new JavaScriptSerializer().Serialize(values), ParameterType.RequestBody);
                IRestResponse responseRest = clientRest.Execute(requestRest);
                Console.WriteLine();

                if (responseRest.StatusCode == HttpStatusCode.OK)
                {
                    AdditionResult resultAdd = (new JavaScriptSerializer()).Deserialize <AdditionResult>(responseRest.Content);
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine("\n\nRESULTADO, SUMATORIA: " + resultAdd.Sum + ". " + (logAdd != "0" ? " La operacion fue registrada en el log." : ""));
                }
                else
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("Error al realizar la operación: " + responseRest.ErrorMessage);
                }

                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine("Operación finalizada.");
                Console.WriteLine();
            }
            catch (Exception)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("\n\nError al conectarse con el servicio que realiza la operacion de suma. ");
                throw;
            }
        }
Ejemplo n.º 5
0
        private static async void Add()
        {
            string              url = BASE_URL + "addition";
            AdditionOperands    additionOperands = new AdditionOperands();
            HttpContent         content;
            HttpResponseMessage response = new HttpResponseMessage();

            additionOperands.Addends = AskForOperands();

            string json = JsonConvert.SerializeObject(additionOperands);

            content = new StringContent(json, Encoding.UTF8, MyStaticData.MIME_TYPE_JSON);

            response = await client.PostAsync(url, content);

            Stream responseStream = await response.Content.ReadAsStreamAsync();

            string         streamContent = new StreamReader(responseStream).ReadToEnd();
            AdditionResult resultJson    = JsonConvert.DeserializeObject <AdditionResult>(streamContent);

            Console.WriteLine(resultJson.ToString());
        }