예제 #1
0
        private static async void Subtract()
        {
            string url = BASE_URL + "subtraction";
            SubtractionOperands subtractionOperands = new SubtractionOperands();
            HttpContent         content;
            HttpResponseMessage response = new HttpResponseMessage();

            Console.WriteLine(MyStaticData.READ_NUMBER_FROM_KEYBOARD);
            subtractionOperands.Minuend = ReadNumber.Read();
            Console.WriteLine(MyStaticData.READ_NUMBER_FROM_KEYBOARD);
            subtractionOperands.Subtrahend = ReadNumber.Read();

            string json = JsonConvert.SerializeObject(subtractionOperands);

            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();
            SubtractionResult resultJson    = JsonConvert.DeserializeObject <SubtractionResult>(streamContent);

            Console.WriteLine(resultJson.ToString());
        }
예제 #2
0
        public JsonResult PostSubtraction([FromBody] SubtractionOperands subtractionOperands)
        {
            SubtractionResult result     = new SubtractionResult();
            string            trackingId = Request.Headers[MyStaticData.HEADER_TRACKING_ID];

            result = subtractionService.Operate(subtractionOperands);

            if (trackingId != string.Empty)
            {
                Operation operation = new Operation("Sub", string.Join(" - ", subtractionOperands.Minuend, subtractionOperands.Subtrahend) + " = " + result.Difference, DateTime.Now);
                User      user      = new User(new TrackingId(trackingId), operation);
                operationService.SaveOperations(user);
            }

            return(Json(result));
        }
예제 #3
0
        /// <summary>
        /// Implementation of subtraction method.
        /// </summary>
        /// <param name="subtractionRequest"></param>
        /// <param name="logSub"></param>
        /// <returns></returns>
        public static SubtractionResult Sub(SubtractionRequest subtractionRequest, string logSub)
        {
            try
            {
                SubtractionResult subtractionResult = new SubtractionResult();

                subtractionResult.Difference = subtractionRequest.Minuend - subtractionRequest.Subtrahend;
                string calculation = subtractionRequest.Minuend.ToString() + "-" + subtractionRequest.Subtrahend.ToString();

                if (int.Parse(logSub) != 0)
                {
                    SaveLog(int.Parse(logSub), "Resta ", calculation, subtractionResult.Difference);
                }

                return(subtractionResult);
            }
            catch (Exception)
            {
                throw;
            }
        }
        /// <summary>
        /// Method that connects to the Web API service to perform the substraction operation.
        /// </summary>
        /// <param name="values"></param>
        /// <param name="logSub"></param>
        public static void Substraction(SubtractionRequest values, string logSub)
        {
            try
            {
                var clientRest  = new RestClient(urlWebAPI);
                var requestRest = new RestRequest("Sub", Method.POST);

                if (logSub == "")
                {
                    logSub = "0";
                }
                requestRest.AddHeader("x-evi-tracking-id", logSub);

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

                if (responseRest.StatusCode == HttpStatusCode.OK)
                {
                    SubtractionResult resultSubs = (new JavaScriptSerializer()).Deserialize <SubtractionResult>(responseRest.Content);
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine("\n\nRESULTADO, DIFERENCIA: " + resultSubs.Difference + ". " + (logSub != "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 resta. ");
                throw;
            }
        }