} // class #endregion #region method_DivisionPetition public static void DivisionPetition(DivRequest calc, int id) { try { var httpWebRequest = HeaderBuilder("Calculator", "div", id); string json = JsonConvert.SerializeObject(calc); SendRequest(httpWebRequest, json); DivResponse response = null; HttpWebResponse httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var result = streamReader.ReadToEnd(); response = JsonConvert.DeserializeObject <DivResponse>(result); } Console.WriteLine("Quotient: {0} Remainder: {1}", response.Quotient, response.Remainder + "\n\npress enter to continue."); Console.ReadKey(); } // handle error exceptions catch (WebException webex) { WebResponse errResp = webex.Response; using (Stream respStream = errResp.GetResponseStream()) { StreamReader reader = new StreamReader(respStream); string text = reader.ReadToEnd(); } } } // class
public string Divide(DivRequest petition) { logger.Debug("------- Division Method -------"); try { if (petition == null || petition.Numbers == null) { return(Error400().ErrorMessage.ToString()); } DivResponse result = new DivResponse(); string key = Request.Headers.GetValues("X_Evi_Tracking_Id").FirstOrDefault(); JournalService.Storing(Operations.Div(petition, result), "Division", key); logger.Debug(Operations.Div(petition, result)); var hasonServer = JsonConvert.SerializeObject(result); return(hasonServer); } catch (Exception ex) { return(JsonConvert.SerializeObject(Error500(ex))); } }
public DivResponse div([FromBody] DivRequest value) { logger.Trace("Service called: div"); /* An invalid request has been received. * This may mean the HTTP requests and/or the HTTP body may contains some errors which should be fixed * */ if (value == null) { logger.Error(HttpStatusCode.BadRequest); throw new HttpResponseException(HttpStatusCode.BadRequest); } try { DivResponse result = new DivResponse(); // Execute operation: Sub String forJournal = ""; result.Quotient = value.Dividend / value.Divisor; result.Remainder = value.Dividend % value.Divisor; forJournal = value.Dividend + " / " + value.Divisor + " = " + result.Quotient + " Remainder = " + result.Remainder; if (Request != null && Request.Headers != null) { var headers = Request.Headers; if (headers.Contains("X-Evi-Tracking-Id")) { // Must store this request’s details inside it’s journal string trackingId = headers.GetValues("X-Evi-Tracking-Id").First(); logger.Info("X-Evi-Tracking-Id = " + trackingId); Operation operation = new Operation { OperationDes = "Div", Calculation = forJournal, Date = DateTime.Now.ToString("u") }; Journal.store(trackingId, operation); logger.Trace("Div success!!"); } } return(result); } catch (Exception ex) { logger.Error(ex); /* * An unexpected error condition was triggered which made impossible to fulfill the request. Please try again or contact support * */ throw new HttpResponseException(HttpStatusCode.InternalServerError); } }
public DivResponse Div(DivRequest request, string trakingId) { log.Trace("this is the service -> Div"); DivResponse div = new DivResponse(); try { var result = request.Dividend / request.Divisor; var result1 = request.Dividend % request.Divisor; div.Quotient = result; div.Remainder = result1; log.Trace(HttpStatusCode.OK); if (trakingId != null) { var op = new Operation() { name = "Div", date = DateTime.Now, calculation = string.Join("/", request.Dividend, request.Divisor) }; JournalList.Add(new KeyValuePair <string, Operation>(trakingId, op)); } } catch (Exception e) { log.Error("Error in the controller Div " + e); log.Error(HttpStatusCode.InternalServerError); throw new Exception(); } return(div); }
public void Div(string trackingId) { #region DivisionStuff Console.WriteLine("-------Division Operation------"); Console.WriteLine("Type the integer division you want to do(ex:1243 / 12 / 2): "); char symb = '/'; string div = Console.ReadLine(); div = CheckingSymbol.HaveOperationSymbol(symb, div); int[] numbers; if (ParsingComprobation.CanBeParsed(symb, div)) { numbers = ParsingComprobation.Parse(ParsingComprobation.SeparateString(symb, div)); } else { return; } #endregion #region Connection DivRequest division = new DivRequest(); DivResponse result = new DivResponse(); division.Numbers = numbers; HttpWebRequest request = (HttpWebRequest)WebRequest.Create($"{url}div"); request.Method = "POST"; request.ContentType = "application/json"; if (trackingId != "") { request.Headers.Add("X_Evi_Tracking_Id", trackingId); } using (StreamWriter dataStream = new StreamWriter(request.GetRequestStream())) { var jason = JsonConvert.SerializeObject(division); dataStream.Write(jason); dataStream.Close(); } HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using (StreamReader stRead = new StreamReader(response.GetResponseStream())) { Console.WriteLine("The server operation's result is:"); result = JsonConvert.DeserializeObject <DivResponse>(stRead.ReadToEnd()); Console.WriteLine(result.Quotient); Console.WriteLine("The remainder of the last division is:"); Console.WriteLine(result.Remainder); stRead.Close(); } #endregion }
public void Div(string trackingId) { #region DivisionStuff Console.WriteLine("-------Division Operation------"); Console.WriteLine("Type the binomial int division you want to do(ex:13 / 12): "); char symb = '/'; string div = Console.ReadLine(); string[] nums = div.Split(symb); int[] numbers = new int[nums.Length]; for (int i = 0; i < nums.Length; i++) { numbers[i] = int.Parse(nums[i].Trim()); Console.WriteLine(numbers[i]); } #endregion #region Connection DivRequest division = new DivRequest(); DivResponse result = new DivResponse(); division.Dividend = numbers[0]; division.Diviser = numbers[1]; HttpWebRequest request = (HttpWebRequest)WebRequest.Create($"{url}div"); request.Method = "POST"; request.ContentType = "application/json"; if (trackingId != "") { request.Headers.Add("X_Evi_Tracking_Id", trackingId); } using (StreamWriter dataStream = new StreamWriter(request.GetRequestStream())) { var jason = JsonConvert.SerializeObject(division); dataStream.Write(jason); dataStream.Close(); } HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using (StreamReader stRead = new StreamReader(response.GetResponseStream())) { Console.WriteLine("The server operation's result is:"); result = JsonConvert.DeserializeObject <DivResponse>(stRead.ReadToEnd()); Console.WriteLine(result.Quotient); Console.WriteLine("The remainder of the division is:"); Console.WriteLine(result.Remainder); stRead.Close(); } #endregion }
public string Div(DivRequest Reqdiv) { DivResponse response = new DivResponse(); string operation = ""; logger.Trace("----- Method Divide -----"); try { if (Reqdiv == null || !(Reqdiv.Dividend.HasValue || Reqdiv.Divisor.HasValue)) { return(Error400().ErrorMessage.ToString()); //throw new ArgumentNullException(); } if (Reqdiv.Divisor == 0) { throw new DivideByZeroException(); //throw new Exception("The operation result is Infinite"); } else { response.Quotient = Reqdiv.Dividend.Value / Reqdiv.Divisor.Value; response.Remainder = Reqdiv.Dividend.Value % Reqdiv.Divisor.Value; } operation = $"{Reqdiv.Dividend} / {Reqdiv.Divisor}"; logger.Trace($"{operation} = {response.Quotient}(Reaminder: {response.Remainder})"); if (Request.Headers.GetValues("X_Evi_Tracking_Id") != null && Request.Headers.GetValues("X_Evi_Tracking_Id").Any()) { string key = Request.Headers.GetValues("X_Evi_Tracking_Id").First(); JournalService.StoreOperation(CreateOperation("Div", $"{operation} = {response.Quotient}(Remainder: {response.Remainder})", DateTime.Now, key)); } string json = JsonConvert.SerializeObject(response); return(json); } catch (ArgumentNullException e) { logger.Error(e.Message); return(e.Message); } catch (DivideByZeroException ex) { logger.Error(ex.Message); return(ex.Message); } catch (Exception) { return(Error500().ErrorMessage.ToString()); } }
public void Div(string Id_Tracking) { Console.WriteLine("------- Operation Divide -------"); separator = '/'; try { Console.WriteLine("Dividend:"); op = Console.ReadLine(); Reqdiv.Dividend = int.Parse(op); Console.WriteLine("Divisor:"); op = Console.ReadLine(); Reqdiv.Divisor = int.Parse(op); HttpWebRequest req = (HttpWebRequest)WebRequest.Create($"{url}div"); req.Method = "POST"; req.ContentType = "application/json"; if (Id_Tracking != "") { req.Headers.Add("X_Evi_Tracking_Id", Id_Tracking); } // Opens a stream,converts the request to Json and send it using (StreamWriter sw = new StreamWriter(req.GetRequestStream())) { string jsonRequest = JsonConvert.SerializeObject(Reqdiv); sw.Write(jsonRequest); sw.Close(); } DivResponse response = new DivResponse(); HttpWebResponse Response = (HttpWebResponse)req.GetResponse(); using (StreamReader sr = new StreamReader(Response.GetResponseStream(), Encoding.UTF8)) { Console.WriteLine("The server responds: "); response = JsonConvert.DeserializeObject <DivResponse>(sr.ReadToEnd()); Console.WriteLine($"Quotient: {response.Quotient}, Remainder: {response.Remainder}"); sr.Close(); Response.Close(); } } catch (Exception e) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(e.Message); Console.ForegroundColor = ConsoleColor.Gray; logger.Error(e.Message); } }
public void DivResponse_CorrectlyFormatsResponseForJournal() { var quotiend = TestHelper.GeneratePositiveNumber(); var remainder = TestHelper.GeneratePositiveNumber(); var expected = $"{quotiend} with remainder {remainder}"; var response = new DivResponse { Quotient = quotiend, Remainder = remainder }; var formattedResponse = response.GetFormatedResponse(); formattedResponse.Should().Be(expected); }
public string Divide(DivRequest petition) { int[] nums = new int[2]; nums[0] = petition.Dividend; nums[1] = petition.Diviser; DivResponse result = new DivResponse(); result.Quotient = nums[0] / nums[1]; result.Remainder = nums[0] % nums[1]; var hasonServer = JsonConvert.SerializeObject(result); return(hasonServer); }
public void Div_ShouldReturnOK() { DivRequest testRequest = new DivRequest(); testRequest.Dividend = 11; testRequest.Divisor = 2; var controller = new CalculatorController(); var result = controller.div(testRequest) as DivResponse; DivResponse compare = new DivResponse { Quotient = 5, Remainder = 1 }; Assert.AreEqual(5, result.Quotient); Assert.AreEqual(1, result.Remainder); }
public IActionResult Postdiv([FromBody] DivRequest numeros) { int dividend; int divisor; try { dividend = numeros.Dividend; divisor = numeros.Divisor; } catch (Exception e) { return(StatusCode(400, e)); } DivResponse div; try { div = new DivResponse { Quotient = dividend / divisor, Remainder = dividend % divisor }; } catch (Exception e) { return(StatusCode(400, e)); } if (Request.Headers["X-Evi-Tracking-Id"].Any()) { var identification = Request.Headers["X-Evi-Tracking-Id"]; var currentUser = UsersHandler.KnownOrNot(identification); currentUser.Operations.Add(new DivisionOperation(numeros, div)); } return(new JsonResult(div)); }