public HttpResponseMessage Post([FromBody] MultiplicationRequest request) { var jsonFormatter = new JsonMediaTypeFormatter(); string trackingId = null; if (Request.Headers.Contains("X-Evi-Tracking-Id")) { trackingId = Request.Headers.GetValues("X-Evi-Tracking-Id").First(); } try { var response = new HttpResponseDto <MultiplicationResponse> { Status = HttpStatusCode.OK.ToString(), Code = (int)HttpStatusCode.OK, Message = repository.Multiply(request.Factors, trackingId) }; // In case of success, return a Json with the corresponding calculation total return(Request.CreateResponse(HttpStatusCode.OK, response, jsonFormatter)); } catch (Exception ex) { var response = new HttpResponseDto <string> { Status = HttpStatusCode.BadRequest.ToString(), Code = (int)HttpStatusCode.BadRequest, Message = ex.Message }; // In case of error, return a Json with the corresponding message to be shown return(Request.CreateResponse(HttpStatusCode.BadRequest, response, jsonFormatter)); } }
/// <summary> /// Implementation of multiplication method. /// </summary> /// <param name="multiplicationRequest"></param> /// <param name="logMult"></param> /// <returns></returns> public static MultiplicationResult Mult(MultiplicationRequest multiplicationRequest, string logMult) { try { MultiplicationResult multiplicationResult = new MultiplicationResult(); int counter = 0; string calculation = ""; multiplicationResult.Product = 1; foreach (int number in multiplicationRequest.Factors) { counter += 1; multiplicationResult.Product *= number; calculation += number.ToString() + (counter == multiplicationRequest.Factors.Length ? "" : "*"); } if (int.Parse(logMult) != 0) { SaveLog(int.Parse(logMult), "Multiplicación ", calculation, multiplicationResult.Product); } return(multiplicationResult); } catch (Exception) { throw; } }
public override Task <MultiplicationResponse> Multiply(MultiplicationRequest request, ServerCallContext context) { return(Task.FromResult(new MultiplicationResponse { Result = request.Op1 * request.Op2 })); }
public MultiplicationResult Mult([FromBody] MultiplicationRequest multRequest) { var headers = this.Request.Headers.ToList(); string trackingMult = headers[headers.Count - 1].Value.First().ToString(); return(CalculatorBusiness.Mult(multRequest, trackingMult)); }
public override Task <OperationResponse> Calculate(MultiplicationRequest request, ServerCallContext context) { var result = request.FirstOperand * request.SecondOperand; System.Console.WriteLine("Multiplication request -> {0} * {1} = {2}", request.FirstOperand, request.SecondOperand, request.FirstOperand * request.SecondOperand); return(Task.FromResult(new OperationResponse() { Result = result })); }
/// <summary> /// Method that connects to the Web API service to perform the multiplication operation. /// </summary> /// <param name="values"></param> /// <param name="logMultiplication"></param> public static void Multiplication(MultiplicationRequest values, string logMultiplication) { try { var clientRest = new RestClient(urlWebAPI); var requestRest = new RestRequest("Mult", Method.POST); if (logMultiplication == "") { logMultiplication = "0"; } requestRest.AddHeader("x-evi-tracking-id", logMultiplication); requestRest.AddParameter("application/json", new JavaScriptSerializer().Serialize(values), ParameterType.RequestBody); IRestResponse responseRest = clientRest.Execute(requestRest); Console.WriteLine(); if (responseRest.StatusCode == HttpStatusCode.OK) { MultiplicationResult resultRest = (new JavaScriptSerializer()).Deserialize <MultiplicationResult>(responseRest.Content); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("\n\nRESULTADO, MULTIPLICACION: " + resultRest.Product + ". " + (logMultiplication != "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 multiplicación. "); throw; } }
/// <summary> /// Group the multiplication operations. /// </summary> static public void MultiplicationMethod() { Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("MULTIPLICACION "); Console.ForegroundColor = ConsoleColor.White; bool valor; string[] numbersAdd; do { valor = true; Console.WriteLine("Ingrese los números que intervienen en la multiplicación separados por espacio."); Console.ForegroundColor = ConsoleColor.DarkCyan; Console.WriteLine("Ejemplo 9 5 4 7 7\n"); Console.ForegroundColor = ConsoleColor.White; numbersAdd = Console.ReadLine().ToString().Trim().Split(' '); foreach (var item in numbersAdd) { if (ValidarNumeroCadena(item.ToString()) == false) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("\n\nLos números ingresados deben ser enteros y separados por espacio:\n"); Console.ForegroundColor = ConsoleColor.White; valor = false; break; } } } while (valor == false); string logMult = ValidarNumeroEspacio("\nIngrese el identificador del Log OPCIONAL:"); MultiplicationRequest MultRequest = new MultiplicationRequest(); MultRequest.Factors = Array.ConvertAll(numbersAdd, s => int.Parse(s)); ManagementCalculator.Multiplication(MultRequest, logMult); }
public static MultiplicationResult Mult(MultiplicationRequest multiplicationRequest, string tracking_ID) { return(CalculatorDataAccess.Mult(multiplicationRequest, tracking_ID)); }
public IActionResult Post([FromBody] MultiplicationRequest request) { double result = MultiplicationHelper.Calculate(request.Arg1, request.Arg2); return(new JsonResult(result)); }