public ActionResult Index(CalculatorVM model) { double res = 0D; if (ModelState.IsValid) { switch (model.CommandText.ToLower()) { case "add": res = model.FirstNumber + model.SecondNumber; break; case "sub": res = model.FirstNumber - model.SecondNumber; break; case "mul": res = model.FirstNumber * model.SecondNumber; break; case "div": res = model.FirstNumber / model.SecondNumber; break; default: break; } ViewBag.Result = res; SetLastResult(model, res); ViewBag.LastResult = GetLastResults(); return(View(model)); } ViewBag.LastResult = GetLastResults(); return(View(model)); }
private void SetLastResult(CalculatorVM model, double result) { var lastResults = Session["LastResults"] == null ? new List <ResultVM>() : (List <ResultVM>)Session["LastResults"]; lastResults.Insert(0, new ResultVM { FirstNumber = model.FirstNumber, SecondNumber = model.SecondNumber, CommandText = model.CommandText, Result = result, CommandOperator = StringHelper.GetOperator(model.CommandText) }); if (lastResults.Count > 3) { Session["LastResults"] = lastResults.Take(3).ToList(); } else { Session["LastResults"] = lastResults; } }
public NumberButtonCommand(CalculatorVM vm) { VM = vm; }
public ACButtonCommand(CalculatorVM vm) { VM = vm; }
public PercentButtonCommand(CalculatorVM vm) { VM = vm; }
public EqualsButtonCommand(CalculatorVM vm) { VM = vm; }
public OperatorButtonCommand(CalculatorVM vm) { VM = vm; }
public DecimalButtonCommand(CalculatorVM vm) { VM = vm; }
public NegativeButtonCommand(CalculatorVM vm) { VM = vm; }