private void SetCalculationManager(out ICalculatorManager manager) { _view.DisplayMessage("Select way for calculating: " + "\npress 1 - via file; " + "\npress 2 - via console " + "\npress 0 - to exit"); while (true) { int result = 0; while (!int.TryParse(_view.GetUserResponse(), out result)) { _view.DisplayMessage("Wrong number, try again."); } switch (result) { case 0: manager = null; return; case 1: manager = new FileCalculator(_view); return; case 2: manager = new ConsoleCalculator(_view); return; default: manager = null; break; } } }
public string ReadData() { string path; _view.DisplayMessage("Enter path to the file with operations which needs to calculate"); do { path = _view.GetUserResponse(); }while (!CheckIfExists(path)); return(path); }
public string ReadData() { _view.DisplayMessage("Calculator supports only operations of addition(+), multiplication(*), division(/) and subtraction(-). " + "\nAlso expression should not contain brackets " + "\nPlease enter expression for calculation. "); string expression; while (!Regex.IsMatch(expression = _view.GetUserResponse(), _validLineRegex)) { _view.DisplayMessage("Expresion cannot be calculated. Enter valid formula."); } return(expression); }