Ejemplo n.º 1
0
        public ActionResult AddCalculation(Calculation calculation)
        {
            try
            {
                double[] results = Regex.Split(calculation.MathCal, @"-|\+|\*|\/").Select(x => Convert.ToDouble(x)).ToArray();

                //if ((calculation.MathCal.Trim()).StartsWith(".")[1])
                //    textBox1.Text = "0" + textBox1.Text;

                string operation = Regex.Split(calculation.MathCal, @"[0-9]+")[1];

                switch (operation)
                {
                case "+.":
                    calculation.MathCal = $"{results[0]} {operation} {results[1]} = {results[0] + results[1]}";
                    break;

                case "-.":
                    calculation.MathCal = $"{results[0]} {operation} {results[1]} = {results[0] - results[1]}";
                    break;

                case "*.":
                    calculation.MathCal = $"{results[0]} {operation} {results[1]} = {results[0] * results[1]}";
                    break;

                case "/.":
                    calculation.MathCal = $"{results[0]} {operation} {results[1]} = {results[0] / results[1]}";
                    break;

                case "+":
                    calculation.MathCal = $"{results[0]} {operation} {results[1]} = {results[0] + results[1]}";
                    break;

                case "-":
                    calculation.MathCal = $"{results[0]} {operation} {results[1]} = {results[0] - results[1]}";
                    break;

                case "*":
                    calculation.MathCal = $"{results[0]} {operation} {results[1]} = {results[0] * results[1]}";
                    break;

                case "/":
                    calculation.MathCal = $"{results[0]} {operation} {results[1]} = {results[0] / results[1]}";
                    break;

                default:
                    break;
                }

                _calRepo.CreateCalculation(calculation);
            }
            catch (Exception)
            {
                calculation.MathCal = "NaN";
                _calRepo.CreateCalculation(calculation);
                return(RedirectToAction("Index"));
            }

            return(RedirectToAction("Index"));
        }