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()); }
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)); }
/// <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; } }