public DivRes Post([FromBody] DivReq value) { DivRes result = new DivRes(); try { /* Realiza la division entre el Dividend y el Divisor obtenidos de la peticion, * cuando el encabezado no contiene el identificador "X-Evi-Tracking-Id" */ if (String.IsNullOrEmpty(Request.Headers["X-Evi-Tracking-Id"])) { result.Quotient = value.Dividend / value.Divisor; result.Remainder = value.Dividend % value.Divisor; } /* 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 { result.Quotient = value.Dividend / value.Divisor; result.Remainder = value.Dividend % value.Divisor; LogJournal logJournal = new LogJournal(Request.Headers["X-Evi-Tracking-Id"]); logJournal.Add("{" + "\"" + "Operation" + "\"" + ": " + "\"" + "Div" + "\"" + ", " + "\"" + "Calculation" + "\"" + ": " + "\"" + value.Dividend + " / " + value.Divisor + " result: Quotient = " + result.Quotient + " Remainder = " + result.Remainder + "\"" + ", " + "\"" + "Date" + "\"" + ": " + "\"" + DateTime.Now.ToString("u") + "\"" + "}"); } } catch (Exception ex) { Log log = new Log(); log.Add("Error en SubController.cs " + ex.Message); } return(result); }
// // POST: /Calculator/Div public void Div() { 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(); Div div = JsonConvert.DeserializeObject <Div>(body); // Get the result Calculator C = new Calculator(); int quo = C.div(div.Dividend, div.Divisor); int rem = C.rem(div.Dividend, div.Divisor); // Create a Result Object DivRes divres = new DivRes(); divres.Quotient = quo; divres.Remainder = rem; // Serialize it string param = JsonConvert.SerializeObject(divres); // 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("Div 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."); } }