public static void editTasksAtTableByStatus(DB_impl DB, Task_manager_impl tm, ConsoleIO_impl IO) { IO.clear(); string menu = "Редактировать:\n" + "1)Выполненные\n" + "2)Не выполненные\n" + "[Назад - esc]"; IO.print(menu); ConsoleKeyInfo cki; int answer = -1; do { cki = IO.getKeyFromUser(); if (cki.Key == ConsoleKey.Escape) { break; } bool v = int.TryParse(cki.Key.ToString().Substring(1), out answer); if (!v || answer < 1 || answer > 2) { IO.clear(); IO.print("Ошибка! Неверное значение.\n" + menu); } } while (answer < 1 || answer > 2); IO.clear(); switch (answer) { case 1: tm = DB.getAllTasks(); tm.findTasksByCompletion(true); tm.getTasks().ForEach(e => editSingleTask(e, tm, IO)); DB.updateTasks(tm); IO.clear(); IO.print("Редактирование выполнено успешно. Нажмите любую клавишу для возврата."); IO.getKeyFromUser(); throw new ReturnToTableMenu(); break; case 2: tm = DB.getAllTasks(); tm.findTasksByCompletion(false); tm.getTasks().ForEach(e => editSingleTask(e, tm, IO)); DB.updateTasks(tm); IO.clear(); IO.print("Редактирование выполнено успешно. Нажмите любую клавишу для возврата."); IO.getKeyFromUser(); throw new ReturnToTableMenu(); break; default: throw new ReturnToTableMenu(); break; } }
public static void findInTableByCompletion(DB_impl DB, Task_manager_impl tm, ConsoleIO_impl IO) { IO.clear(); string menu = "Найти:\n" + "1)Выполненные\n" + "2)Не выполненные\n" + "[Назад - esc]"; IO.print(menu); ConsoleKeyInfo cki; int answer = -1; do { cki = IO.getKeyFromUser(); if (cki.Key == ConsoleKey.Escape) { break; } bool v = int.TryParse(cki.Key.ToString().Substring(1), out answer); if (!v || answer < 1 || answer > 2) { IO.clear(); IO.print("Ошибка! Неверное значение.\n" + menu); } } while (answer < 1 || answer > 2); IO.clear(); switch (answer) { case 1: IO.print("Поиск выполненных задач"); tm.findTasksByCompletion(true); IO.printTable(new string[] { "id", "[X]/[ ]", "Дата", "Задание" }, tm.getTaskManagerDataGrid()); IO.print("Нажмите любую клавишу для возврата."); IO.getKeyFromUser(); throw new ProcessToShowTable(); break; case 2: IO.print("Поиск не выполненных задач"); tm.findTasksByCompletion(false); IO.printTable(new string[] { "id", "[X]/[ ]", "Дата", "Задание" }, tm.getTaskManagerDataGrid()); IO.print("Нажмите любую клавишу для возврата."); IO.getKeyFromUser(); throw new ProcessToShowTable(); break; default: throw new ProcessToShowTable(); break; } }
public static void deleteTasksFromTableByStatus(DB_impl DB, Task_manager_impl tm, ConsoleIO_impl IO) { IO.clear(); string menu = "Удалить:\n" + "1)Выполненные\n" + "2)Не выполненные\n" + "[Назад - esc]"; IO.print(menu); ConsoleKeyInfo cki; int answer = -1; do { cki = IO.getKeyFromUser(); if (cki.Key == ConsoleKey.Escape) { break; } bool v = int.TryParse(cki.Key.ToString().Substring(1), out answer); if (!v || answer < 1 || answer > 2) { IO.clear(); IO.print("Ошибка! Неверное значение.\n" + menu); } } while (answer < 1 || answer > 2); IO.clear(); switch (answer) { case 1: tm = DB.getAllTasks(); tm.findTasksByCompletion(true); IO.printTable(new string[] { "id", "[X]/[ ]", "Дата", "Задание" }, tm.getTaskManagerDataGrid()); IO.print("Удаление выполненных задач. Для подтверждения нажмите Enter"); if (IO.getKeyFromUser().Key == ConsoleKey.Enter) { DB.deleteTasks(tm); IO.print("Удаление выполнено успешно. Нажмите любую клавишу для возврата."); IO.getKeyFromUser(); } throw new ReturnToTableMenu(); break; case 2: tm = DB.getAllTasks(); tm.findTasksByCompletion(false); IO.printTable(new string[] { "id", "[X]/[ ]", "Дата", "Задание" }, tm.getTaskManagerDataGrid()); IO.print("Удаление не выполненных задач. Для подтверждения нажмите Enter"); if (IO.getKeyFromUser().Key == ConsoleKey.Enter) { DB.deleteTasks(tm); IO.print("Удаление выполнено успешно. Нажмите любую клавишу для возврата."); IO.getKeyFromUser(); } throw new ReturnToTableMenu(); break; default: throw new ReturnToTableMenu(); break; } }