private void ExecuteaddOperandAndOperator(object parameter) { //switch case to check any special function in default assign value to display property try { switch (parameter.ToString()) { case "c": //clear and reset everything buildDisplayInput.Clear(); CompleteEquation.Clear(); firstOperand = null; selectedOperator = string.Empty; Display = string.Empty; DisplayCompleteEquation = "0"; break; case "+/-": if (Display != string.Empty && Display != "0" && Display != null) { if (!Display.Contains("-")) { Display = "-" + Display; } else { Display = Display.Remove(0, 1); } } break; case "%": if (Display == null) { Display = "0"; } { double percentageConverstion = double.Parse(Display) / 100; Display = percentageConverstion.ToString(); } break; case ".": Display = Display + "."; break; default: if (isNewOperand == false) { Display = Display + parameter.ToString(); } else if (isNewOperand == true) { Display = string.Empty; Display = Display + parameter.ToString(); isNewOperand = false; } //creating complete equation for displaying CompleteEquation.Add(parameter.ToString()); buildDisplayInput.Clear(); foreach (string dis in CompleteEquation) { buildDisplayInput.Append(dis); } DisplayCompleteEquation = buildDisplayInput.ToString(); break; } } catch (Exception e) { MessageBox.Show("{0}", e.ToString()); } }
private void ExecuteBasicOperator(object parameter) { try { isNewOperand = true; if (parameter.ToString() != "=" && selectedOperator == string.Empty) { selectedOperator = parameter.ToString(); //isFirstOperator = false; } if (firstOperand == null) { firstOperand = Display; } else { secondOperand = Display; if (firstOperand != null && secondOperand != null) { firstOperand = objModel.calculateResult(firstOperand, secondOperand, selectedOperator); } Display = objModel.Result.ToString(); if (parameter.ToString() != "=") { selectedOperator = parameter.ToString(); } } if (parameter.ToString() == "=") { //resetting the value to default buildDisplayInput.Clear(); CompleteEquation.Clear(); firstOperand = null; selectedOperator = string.Empty; //replacing complete eqaution value with the results after "=" DisplayCompleteEquation = objModel.Result.ToString(); CompleteEquation.Add(DisplayCompleteEquation); } else { if (firstOperand != null) { CompleteEquation.Add(parameter.ToString()); buildDisplayInput.Clear(); foreach (string dis in CompleteEquation) { buildDisplayInput.Append(dis); } DisplayCompleteEquation = buildDisplayInput.ToString(); } } } catch (Exception e) { MessageBox.Show("{0}", e.ToString()); } }