Example #1
0
        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));
        }
Example #2
0
        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;
            }
        }
Example #3
0
 public NumberButtonCommand(CalculatorVM vm)
 {
     VM = vm;
 }
Example #4
0
 public ACButtonCommand(CalculatorVM vm)
 {
     VM = vm;
 }
 public PercentButtonCommand(CalculatorVM vm)
 {
     VM = vm;
 }
Example #6
0
 public EqualsButtonCommand(CalculatorVM vm)
 {
     VM = vm;
 }
Example #7
0
 public OperatorButtonCommand(CalculatorVM vm)
 {
     VM = vm;
 }
Example #8
0
 public DecimalButtonCommand(CalculatorVM vm)
 {
     VM = vm;
 }
Example #9
0
 public NegativeButtonCommand(CalculatorVM vm)
 {
     VM = vm;
 }