public string Subtract(SubtractRequest petition)
        {
            SubtractResponse result = new SubtractResponse();

            logger.Debug("------- Subtract Method -------");

            try
            {
                if (petition == null || petition.Numbers == null)
                {
                    return(Error400().ErrorMessage.ToString());
                }

                string key = Request.Headers.GetValues("X_Evi_Tracking_Id").FirstOrDefault();
                JournalService.Storing(Operations.Subt(petition, result), "Subtraction", key);

                logger.Debug(Operations.Subt(petition, result));

                var hasonServer = JsonConvert.SerializeObject(result);
                return(hasonServer);
            }
            catch (Exception ex)
            {
                return(JsonConvert.SerializeObject(Error500(ex)));
            }
        }
        public IHttpActionResult Subtract(SubtractRequest request)
        {
            logger.Trace("Service called: subtract");

            // An invalid request has been received
            // This may mean the HTTP requests and/or the HTTP body may contains some errors which should be fixed

            if (request == null)
            {
                logger.Error(HttpStatusCode.BadRequest);

                throw new HttpResponseException(HttpStatusCode.BadRequest);
            }

            try
            {
                SubtractResponse result = new SubtractResponse();

                // Execute operation: Subtraction
                string dataJournal = "";

                result.Difference = request.Minuend - request.Subtrahend;

                dataJournal = request.Minuend + " - " + request.Subtrahend + " = " + result.Difference;

                logger.Trace("Substract success!!");

                IEnumerable <string> headerValues;

                // If tracking ID exists create operation instance and store in journal
                if (Request.Headers.TryGetValues("X-Evi-Tracking-Id", out headerValues))
                {
                    string id;

                    id = headerValues.FirstOrDefault();

                    var operation = new Operation()
                    {
                        Name        = "subtraction",
                        Calculation = dataJournal,
                        Date        = DateTime.Now
                    };

                    Journal.Store(id, operation);
                }

                return(Ok(result));
            }
            catch (Exception ex)
            {
                logger.Error(ex);

                // An unexpected error condition was triggered which made impossible to fulfill the request.
                throw new HttpResponseException(HttpStatusCode.InternalServerError);
            }
        }
        public void Subt(string trackingId)
        {
            #region SubtractionStuff
            Console.WriteLine("------Subtraction Operation------");
            Console.WriteLine("Type the integer subtraction you want to do(ex:13 - 12 - 5): ");

            char   symb = '-';
            string subt = Console.ReadLine();

            subt = CheckingSymbol.HaveOperationSymbol(symb, subt);

            int[] numbers;
            if (ParsingComprobation.CanBeParsed(symb, subt))
            {
                numbers = ParsingComprobation.Parse(ParsingComprobation.SeparateString(symb, subt));
            }
            else
            {
                return;
            }
            #endregion

            #region Connection
            SubtractRequest  subtract = new SubtractRequest();
            SubtractResponse result   = new SubtractResponse();

            subtract.Numbers = numbers;

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create($"{url}sub");
            request.Method      = "POST";
            request.ContentType = "application/json";

            if (trackingId != "")
            {
                request.Headers.Add("X_Evi_Tracking_Id", trackingId);
            }

            using (StreamWriter dataStream = new StreamWriter(request.GetRequestStream()))
            {
                var jason = JsonConvert.SerializeObject(subtract);
                dataStream.Write(jason);
                dataStream.Close();
            }

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            using (StreamReader stRead = new StreamReader(response.GetResponseStream()))
            {
                Console.WriteLine("The server operation's result is:");
                result = JsonConvert.DeserializeObject <SubtractResponse>(stRead.ReadToEnd());
                Console.WriteLine(result.Result);
                stRead.Close();
            }
            #endregion
        }
Beispiel #4
0
        public void Subt(string trackingId)
        {
            #region SubtractionStuff

            Console.WriteLine("------Subtraction Operation------");
            Console.WriteLine("Type the subtraction you want to do(ex:13 - 12 - 5): ");

            char     symb = '-';
            string   subt = Console.ReadLine();
            string[] nums = subt.Split(symb);

            int[] numbers = new int[nums.Length];
            for (int i = 0; i < nums.Length; i++)
            {
                numbers[i] = int.Parse(nums[i].Trim());
                Console.WriteLine(numbers[i]);
            }
            #endregion

            #region Connection

            SubtractRequest  subtract = new SubtractRequest();
            SubtractResponse result   = new SubtractResponse();

            subtract.Numbers = numbers;

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create($"{url}sub");
            request.Method      = "POST";
            request.ContentType = "application/json";

            if (trackingId != "")
            {
                request.Headers.Add("X_Evi_Tracking_Id", trackingId);
            }

            using (StreamWriter dataStream = new StreamWriter(request.GetRequestStream()))
            {
                var jason = JsonConvert.SerializeObject(subtract);
                dataStream.Write(jason);
                dataStream.Close();
            }

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            using (StreamReader stRead = new StreamReader(response.GetResponseStream()))
            {
                Console.WriteLine("The server operation's result is:");
                result = JsonConvert.DeserializeObject <SubtractResponse>(stRead.ReadToEnd());
                Console.WriteLine(result.Result);
                stRead.Close();
            }
            #endregion
        }
        public async void ExecuteCalculatorSubtractRequest()
        {
            SubtractRequest request = new SubtractRequest()
            {
                intA = UnityEngine.Random.Range(-byte.MaxValue, byte.MaxValue),
                intB = UnityEngine.Random.Range(-byte.MaxValue, byte.MaxValue)
            };
            SubtractResponse response = await Subtract.Execute(_calculatorClient, request);

            if (response != null)
            {
                _results.text = string.Format("{0} - {1} = {2}", request.intA, request.intB, response.Value) + Environment.NewLine;
            }
        }
        public string Subtract(SubtractRequest petition)
        {
            int[]            nums   = petition.Numbers;
            SubtractResponse result = new SubtractResponse();

            result.Result = nums[0];
            for (int i = 0; i < nums.Length; i++)
            {
                if (i != 0)
                {
                    result.Result -= nums[i];
                }
            }
            var hasonServer = JsonConvert.SerializeObject(result);

            return(hasonServer);
        }
Beispiel #7
0
        public IActionResult Subtract([FromBody] SubtractRequest subtractRequest)
        {
            try
            {
                var calculator     = new SimpleCalculator();
                var subtractResult = calculator.Subtract(subtractRequest.lValue, subtractRequest.rValue);

                var response = new SubtractResponse()
                {
                    lValue = subtractRequest.lValue,
                    rValue = subtractRequest.rValue,
                    result = subtractResult
                };

                return(Ok(response));
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failure Subtracting. {ex.ToString()}");

                return(StatusCode(500, "Internal Failure"));
            }
        }