public MultRes Post([FromBody] MultReq value) { MultRes result = new MultRes(); result.Product = 1; try { MultReq numbers = value; /* Realiza la multiplicacion cada uno de los numeros dentro de la peticion, * cuando el encabezado no contiene el identificador "X-Evi-Tracking-Id" */ if (String.IsNullOrEmpty(Request.Headers["X-Evi-Tracking-Id"])) { foreach (float number in numbers.Factors) { result.Product *= number; } } /* Si el encabezado contiene el "X-Evi-Tracking-Id" se efectua la operacion * y se crea un archivo con el nombre del id del usuario y los datos de la * operacion realizada */ else { string operation = ""; foreach (float number in numbers.Factors) { result.Product *= number; operation += number + " x "; } LogJournal logJournal = new LogJournal(Request.Headers["X-Evi-Tracking-Id"]); logJournal.Add("{" + "\"" + "Operation" + "\"" + ": " + "\"" + "Mult" + "\"" + ", " + "\"" + "Calculation" + "\"" + ": " + "\"" + operation.Substring(0, operation.Length - 3) + " = " + result.Product + "\"" + ", " + "\"" + "Date" + "\"" + ": " + "\"" + DateTime.Now.ToString("u") + "\"" + "}"); } } catch (Exception ex) { Log log = new Log(); log.Add("Error en AddController.cs " + ex.Message); } return(result); }
// // POST: /Calculator/Mult public void Mult() { try { // Receive and process the POST data string res = HttpContext.Request.Method.ToString(); Encoding enc = System.Text.Encoding.GetEncoding("utf-8"); StreamReader responseStream = new StreamReader(HttpContext.Request.Body, enc); string body = responseStream.ReadToEnd(); Mult mult = JsonConvert.DeserializeObject <Mult>(body); // Get the result Calculator C = new Calculator(); int pro = C.mult(mult.Factors); // Create a Result Object MultRes multres = new MultRes(); multres.Product = pro; // Serialize it string param = JsonConvert.SerializeObject(multres); // Send it back using POST HttpContext.Response.ContentType = "application/json"; using (var streamWriter = new StreamWriter(HttpContext.Response.Body, enc)) { streamWriter.Write(param); streamWriter.Flush(); streamWriter.Close(); } var logger = NLog.LogManager.GetCurrentClassLogger(); logger.Info("Mult operation"); } catch (System.Exception e) { // Create a Result Object CalculatorService.Client.Exception ex = new CalculatorService.Client.Exception(); ex.ErrorCode = "InternalError"; ex.ErrorStatus = 500; ex.ErrorMessage = e.Message; // Serialize it string exec = JsonConvert.SerializeObject(ex); // Send it back using POST HttpContext.Response.ContentType = "application/json"; Encoding enc = System.Text.Encoding.GetEncoding("utf-8"); using (var streamWriter = new StreamWriter(HttpContext.Response.Body, enc)) { streamWriter.Write(exec); streamWriter.Flush(); streamWriter.Close(); } var logger = NLog.LogManager.GetCurrentClassLogger(); logger.Info("Object reference not set to an instance of an object."); } }