Ejemplo n.º 1
0
 public ActionResult Index(string operationType, string operation, string FirstArgument, string SecondArgument)
 {
     String result;
     try
     {
         var validator = new Validator();
         switch (operationType)
         {
             case "oneArgument":
                 var argument = validator.ValidateNumber(FirstArgument);
                 var calculator = OneArgmumentFactory.CreateCalculator(operation);
                 result = Convert.ToString(calculator.Calculate(argument));
                 break;
             case "twoArguments":
                 var firstArgument = validator.ValidateNumber(FirstArgument);
                 var secondArgument = validator.ValidateNumber(SecondArgument);
                 var calculator2 = TwoArgmumentFactory.CreateCalculator(operation);
                 result = Convert.ToString(calculator2.Calculate(firstArgument, secondArgument));
                 break;
             case "order":
                 var array = validator.ValidateArray(FirstArgument);
                 var calculator3 = ArraySortFactory.CreateCalculator(operation);
                 calculator3.Calculate(array);
                 result = "";
                 for (Int16 i = 0; i < array.Length; i++)
                 {
                     result += Convert.ToString(array[i]);
                     result += ", ";
                 }
                 break;
             default:
                 result = "Undefined operation";
                 break;
         }
     }
     catch (InvalidOperationException)
     {
         result = "Error: second argument is empty";
     }
     catch (Exception ex)
     {
         result = ex.Message;
     }
     TempData["Result"] = new Dictionary<string, object>
                              {
                                  { "result", result }
                              };
     return RedirectToAction("Result");
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Event and exception handler for array sorting functoins
 /// </summary>
 /// <param name="sender">Pressed button name</param>
 private void SortArray(object sender, EventArgs e)
 {
     try
     {
         if (FirstValue.Text.Equals(""))
         {
             throw new Exception("Input field is empty");
         }
         var validator = new Validator();
         double[] argument = validator.ValidateArray(FirstValue.Text);
         string operation = ((Button) sender).Name;
         var op = ArraySortFactory.CreateCalculator(operation);
         op.Calculate(argument);
         Result.Text = "";
         for (Int16 i = 0; i < argument.Length; i++)
         {
             Result.Text += Convert.ToString(argument[i]);
             Result.Text += ", ";
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "You are a clayfish", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
 }