public async Task <double> Div(DivModel divModel) { AddHeaderParameters(); var response = await _httpClient.PostAsync(buildUrl("div"), builContent(divModel)); return(JsonConvert.DeserializeObject <double>(await response.Content.ReadAsStringAsync())); }
/// <summary> /// A button event that clears the division of selected prize levels /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void clearDivisionButton_Click(object sender, RoutedEventArgs e) { DivModel.clearPrizeLevelList(); for (int i = 0; i < DivisionModel.MAX_PRIZE_BOXES; i++) { DivModel.levelBoxes[i].IsSelected = false; } DivModel.TotalPlayerPicks = DivModel.calculateTotalCollections(); DivModel.TotalPrizeValue = DivModel.calculateDivisionValue(); SectionContainer.validateDivision(); }
public void Div(string trakingId, DivModel divModel) { if (!string.IsNullOrEmpty(trakingId)) { var operationModel = new OperationModel(); operationModel.Id = trakingId; operationModel.Operation = "Div"; operationModel.Calculation = $"{divModel.Dividend}-{divModel.Divisor}"; operationModel.Date = DateTime.Now; _journalDatabase.Save(operationModel); } }
public static string Div(DivModel oDiv, string sTrackingId) { var client = new RestClient(string.Concat(ConfigurationManager.AppSettings["ServiceURL"], "/calculator/div")); var request = new RestRequest(Method.POST); setTracking(sTrackingId, request); request.AddHeader("cache-control", "no-cache"); request.AddHeader("Content-Type", "application/json"); request.AddParameter("undefined", JsonConvert.SerializeObject(oDiv), ParameterType.RequestBody); IRestResponse response = client.Execute(request); return(response.Content); }
/// <summary> /// Updates the total player picks and total value based on the selected prize levels /// </summary> public void updateInfo() { if (Prizes.getNumPrizeLevels() > 0) { DivModel.clearPrizeLevelList(); for (int i = 0; i < Prizes.getNumPrizeLevels(); i++) { if (DivModel.levelBoxes[i].IsSelected) { DivModel.addPrizeLevel(Prizes.getPrizeLevel(i)); } } DivModel.TotalPlayerPicks = DivModel.calculateTotalCollections(); DivModel.TotalPrizeValue = DivModel.calculateDivisionValue(); } SectionContainer.validateDivision(); }
/// <summary> /// Listens for "shouts" made by other classes, if it is subscribed to that class /// </summary> /// <param name="pass"></param> public void onListen(object pass) { if (pass is PrizeLevels.PrizeLevels) { Prizes = (PrizeLevels.PrizeLevels)pass; for (int i = 0; i < DivisionModel.MAX_PRIZE_BOXES; i++) { DivModel.levelBoxes[i].IsAvailable = false; } for (int i = 0; i < Prizes.getNumPrizeLevels(); i++) { DivModel.levelBoxes[i].IsAvailable = true; } DivModel.clearPrizeLevelList(); updateDivision(); } }
/// <summary> /// Updates all of the info and prize level box data in the division /// </summary> public void updateDivision() { if (Prizes.getNumPrizeLevels() > 0) { for (int i = 0; i < DivisionModel.MAX_PRIZE_BOXES; i++) { if (DivModel.levelBoxes[i].IsAvailable && DivModel.levelBoxes[i].IsSelected) { DivModel.addPrizeLevel(Prizes.getPrizeLevel(i)); } else { DivModel.levelBoxes[i].IsSelected = false; } } DivModel.TotalPlayerPicks = DivModel.calculateTotalCollections(); DivModel.TotalPrizeValue = DivModel.calculateDivisionValue(); } }
public override Task <CommandResult> ExecuteAsync(CancellationToken cancel) { string sResult; try { Console.WriteLine("Calculating..."); DivModel oDivModel = new DivModel(iDividend, iDivisor); sResult = Operations.Div(oDivModel, TrackingID); Console.WriteLine(sResult); return(Task.FromResult(CommandResult.Success)); } catch (Exception ex) { Console.WriteLine("Something wrong happend, please check arguments are valid"); return(Task.FromResult(CommandResult.UsageError)); } }
public HttpResponseMessage Mult([FromBody] DivModel oDiv) { DivResultModel oResult; string sTrackingID = null; try { oResult = new DivResultModel(); if (oDiv != null && oDiv.Dividend >= oDiv.Divisor && oDiv.Divisor > 0) { // Operation is plus (+) because a less than zero value is expected as subtrahend oResult.Quotinent = oDiv.Dividend / oDiv.Divisor; oResult.Remainder = oDiv.Dividend % oDiv.Divisor; // Once result has been calculated, checks if Tracking ID exists // and in that case save operation and result sTrackingID = CommonUtils.checkTrackingID(Request); if (!string.IsNullOrEmpty(sTrackingID)) { CommonUtils.saveToJournal(sTrackingID, oDiv, oResult); } return(Request.CreateResponse(HttpStatusCode.OK, oResult)); } // In other case input is not valid else { HttpError err = new HttpError("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."); return(Request.CreateResponse(HttpStatusCode.BadRequest, err)); } } catch (Exception ex) { // TODO: This exception should be logged somewhere // If something happens throws Internal Error HttpError err = new HttpError("An unexpected error condition was triggered which made impossible to fulfill the request. Please try again or contact support."); return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, err)); } }
static async Task Main(string[] args) { #region Local Functions void PrintResult(double resultValue) => Console.WriteLine($"The result is : {resultValue} "); List <double> GetListOfNumbers() { List <double> listNumbers = new List <double>(); string result = string.Empty; while (result == string.Empty) { Console.WriteLine("enter a number to add on the list or \"result\" to complete the operation"); string readNumberOrResult = Console.ReadLine(); if (double.TryParse(readNumberOrResult, out double Number)) { listNumbers.Add(Number); } else if (readNumberOrResult == "result") { result = readNumberOrResult; } else { Console.WriteLine("Invalid Value"); } } return(listNumbers); } SubModel GetNumbersSub() { var subModel = new SubModel(); bool Iscomplete = false; while (!Iscomplete) { Console.WriteLine("enter the Minuend"); string readNumberOrResult = Console.ReadLine(); if (double.TryParse(readNumberOrResult, out double Minuend)) { subModel.Minuend = Minuend; Console.WriteLine("enter the Subtrahend"); readNumberOrResult = Console.ReadLine(); if (double.TryParse(readNumberOrResult, out double Subtrahend)) { subModel.Subtrahend = Subtrahend; Iscomplete = true; } else { Console.WriteLine("Invalid Value"); } } else { Console.WriteLine("Invalid Value"); } } return(subModel); } DivModel GetNumbersDiv() { var subModel = new DivModel(); bool Iscomplete = false; while (!Iscomplete) { Console.WriteLine("enter the Dividend"); string readNumberOrResult = Console.ReadLine(); if (double.TryParse(readNumberOrResult, out double Minuend)) { subModel.Dividend = Minuend; Console.WriteLine("enter the Divisor"); readNumberOrResult = Console.ReadLine(); if (double.TryParse(readNumberOrResult, out double Subtrahend)) { subModel.Divisor = Subtrahend; Iscomplete = true; } else { Console.WriteLine("Invalid Value"); } } else { Console.WriteLine("Invalid Value"); } } return(subModel); } double GetNumberSqrt() { var subModel = new DivModel(); while (true) { Console.WriteLine("enter the number"); string readNumberOrResult = Console.ReadLine(); if (double.TryParse(readNumberOrResult, out double numberSqrt)) { return(numberSqrt); } else { Console.WriteLine("Invalid Value"); } } } void GetTrackingId() { Console.WriteLine("Enter the TrackingId or press enter to continue"); string trackingId = Console.ReadLine(); calculatorServer.TrackingID = trackingId; } #endregion Console.WriteLine("WELCOME TO CALCULATOR APP"); while (statusApp.ToLower() != "exit") { Console.WriteLine("choose on opetation (ADD, SUB, MULT, DIV, SQRT) use \"exit\" to finish "); string readMethod = Console.ReadLine(); if (Enum.TryParse <OperationType>(readMethod, out OperationType ExtractMethod)) { calculatorMethod = ExtractMethod; } switch (calculatorMethod) { case OperationType.ADD: GetTrackingId(); List <double> listNumbers = GetListOfNumbers(); PrintResult(calculatorServer.Add(listNumbers).Result); break; case OperationType.SUB: GetTrackingId(); SubModel subModel = GetNumbersSub(); PrintResult(await calculatorServer.Sub(subModel)); break; case OperationType.MULT: GetTrackingId(); List <double> listNumbersMULT = GetListOfNumbers(); PrintResult(await calculatorServer.Mult(listNumbersMULT)); break; case OperationType.DIV: GetTrackingId(); DivModel divModel = GetNumbersDiv(); PrintResult(await calculatorServer.Div(divModel)); break; case OperationType.SQRT: GetTrackingId(); var numbersqr = GetNumberSqrt(); PrintResult(await calculatorServer.Sqrt(numbersqr)); break; case OperationType.NONE: default: break; } } Console.ReadLine(); }
public double Div([FromBody] DivModel divModel) { journal.Div(TrackingHelper.GetHeaderValue(Request), divModel); return(divModel.Dividend / divModel.Divisor); }