public static InputEvaluationResult Evaluate(string input, int[] acceptedValuesForCoin) { InputEvaluationResult result = new InputEvaluationResult(); if (int.TryParse(input, out int number)) { result.Number = number; if (acceptedValuesForCoin.Any(x => x == number)) { result.IsValidNumber = true; } } else { result.Number = null; result.IsValidNumber = false; } return(result); }
public void Run() { WriteHeader(); string input = string.Empty; while (input?.ToLower() != "zahlen") { input = Console.ReadLine(); InputEvaluationResult result = InputEvaluator.Evaluate(input, _acceptedValuesForCoin); if (result.IsValidNumber && result.Number.HasValue) { _automat.InsertCoin(result.Number.Value); } else { Console.WriteLine("Sie haben einen ungueltigen Wert eingegeben."); this.WriteHeader(); } } }