public override void ExecuteConsole(Invoker command, ICalculatorComponent calculator, ILogger <CalculatorManager> logger) { bool check = UserChoiceCheck(command); while (check) { Prompts.Addition(); double a, b; double result; Prompts.FirstNumber(); a = Convert.ToDouble(Console.ReadLine()); Prompts.SecondNumber(); b = Convert.ToDouble(Console.ReadLine()); calculator.Operations["addition"].CreateCalculation(calculator, a, b); result = calculator.Operations["addition"].GetResult(calculator); Prompts.Result(result); calculator.UserOperations.Add("+"); calculator.CalculatorState.Add(new Context(new Unmodified())); check = false; } }
public override void ExecuteConsole(Invoker command, ICalculatorComponent calculator, ILogger <CalculatorManager> logger) { bool check = UserChoiceCheck(command); while (check) { Prompts.Division(); double a, b; int c, d; double result, test; bool skip = false; Prompts.FirstNumber(); a = Convert.ToDouble(Console.ReadLine()); c = (int)a; Prompts.SecondNumber(); b = Convert.ToDouble(Console.ReadLine()); d = (int)b; // Handles Divide By Zero Condition + Log Entry try { test = c / d; } catch (DivideByZeroException e) { skip = true; Prompts.Logger(); logger.LogInformation(e.Message); } while ((skip.Equals(false)) && (b != 0)) { calculator.Operations["division"].CreateCalculation(calculator, a, b); result = calculator.Operations["division"].GetResult(calculator); Prompts.Result(result); calculator.UserOperations.Add("/"); calculator.CalculatorState.Add(new Context(new Unmodified())); check = false; skip = true; } check = false; skip = false; } }