private BaseOperation OperationFactory(string operation) { BaseOperation resultOperation = null; switch (operation) { case ("+"): resultOperation = new Addition(); break; case ("-"): resultOperation = new Subtraction(); break; case ("*"): resultOperation = new Multiplication(); break; case ("/"): resultOperation = new Division(); break; default: throw new InvalidInputException("Operation you entered is not recognized. Please, try again"); } return(resultOperation); }
public void SetInputsForMathOperation(BaseOperation operation) { double input_1; double input_2; if (UseLastValue) { operation.A = LastResult; } else { try { input_1 = GetOperand("Input 1st number: "); } catch (InvalidInputException e) { Console.WriteLine(e.Message); input_1 = GetOperand("Input 1st number: "); } operation.A = input_1; } try { input_2 = GetOperand("Input 2nd number: "); } catch (InvalidInputException e) { Console.WriteLine(e.Message); input_2 = GetOperand("Input 2nd number: "); } operation.B = input_2; }