/// <summary> /// Implementation of addition method. /// </summary> /// <param name="additionRequest"></param> /// <param name="logAdd"></param> /// <returns></returns> public static AdditionResult Add(AdditionRequest additionRequest, string logAdd) { try { AdditionResult additionResult = new AdditionResult(); int counter = 0; string calculation = ""; foreach (int number in additionRequest.Addends) { counter += 1; additionResult.Sum += number; calculation += number.ToString() + (counter == additionRequest.Addends.Length ? "" : "+"); } if (int.Parse(logAdd) != 0) { SaveLog(int.Parse(logAdd), "Suma ", calculation, additionResult.Sum); } return(additionResult); } catch (Exception) { throw; } }
public JsonResult PostAddition([FromBody] AdditionOperands additionOperands) { AdditionResult result = new AdditionResult(); string trackingId = Request.Headers[MyStaticData.HEADER_TRACKING_ID]; result = additionService.Operate(additionOperands); if (trackingId != string.Empty) { Operation operation = new Operation("Sum", string.Join(" + ", additionOperands.Addends) + " = " + result.Sum, DateTime.Now); User user = new User(new TrackingId(trackingId), operation); operationService.SaveOperations(user); } return(Json(result)); }
public static IActionResult Run( [HttpTrigger( AuthorizationLevel.Function, "get", Route = "add/num1/{num1}/num2/{num2}")] HttpRequest req, int num1, int num2, ILogger log) { log.LogInformation($"C# HTTP trigger function processed a request with {num1} and {num2}"); var result = new AdditionResult { Result = num1 + num2, TimeOnServer = DateTime.Now }; return(new OkObjectResult(result)); }
/// <summary> /// Method that connects to the Web API service to perform the addition operation. /// </summary> /// <param name="values"></param> /// <param name="logAdd"></param> public static void Addition(AdditionRequest values, string logAdd) { try { var clientRest = new RestClient(urlWebAPI); var requestRest = new RestRequest("Add", Method.POST); if (logAdd == "") { logAdd = "0"; } requestRest.AddHeader("x-evi-tracking-id", logAdd); requestRest.AddParameter("application/json", new JavaScriptSerializer().Serialize(values), ParameterType.RequestBody); IRestResponse responseRest = clientRest.Execute(requestRest); Console.WriteLine(); if (responseRest.StatusCode == HttpStatusCode.OK) { AdditionResult resultAdd = (new JavaScriptSerializer()).Deserialize <AdditionResult>(responseRest.Content); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("\n\nRESULTADO, SUMATORIA: " + resultAdd.Sum + ". " + (logAdd != "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 suma. "); throw; } }
private static async void Add() { string url = BASE_URL + "addition"; AdditionOperands additionOperands = new AdditionOperands(); HttpContent content; HttpResponseMessage response = new HttpResponseMessage(); additionOperands.Addends = AskForOperands(); string json = JsonConvert.SerializeObject(additionOperands); 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(); AdditionResult resultJson = JsonConvert.DeserializeObject <AdditionResult>(streamContent); Console.WriteLine(resultJson.ToString()); }