private static void RunCommand(StreakCommand command) { if (command.StreakIndex > _streakManager.GetStreaksCount()) { Console.WriteLine($"Streak with index {command.StreakIndex} does not exist."); Console.ReadLine(); return; } switch (command.Action) { case StreakCommandAction.EditQuestion: Console.Write("New question: "); _streakManager.UpdateQuestion(command.StreakIndex, Console.ReadLine()); break; case StreakCommandAction.AnswerYes: _streakManager.Yes(command.StreakIndex); break; case StreakCommandAction.AnswerNo: _streakManager.No(command.StreakIndex); break; } }
private static void ProcessInput(string input) { switch (input) { case "add": AddStreak(); return; case "exit": Environment.Exit(0); return; case "help": ShowHelp(); return; case "end": ChangeEndOfDayOffset(); return; case "clear-I-know-what-I-am-doing": File.Delete(DataFileName); _streakManager.ClearStreaks(); return; } var command = StreakCommand.TryParse(input); if (command == null) { Console.Write($"There's no such command: {input}. (press [ENTER] to continue)"); Console.ReadLine(); return; } RunCommand(command); }