public static void findInTableByText(DB_impl DB, Task_manager_impl tm, ConsoleIO_impl IO) { IO.clear(); IO.print("Для поиска по тексту введите текст\n" + "[Назад - esc]"); string text = ""; ConsoleKeyInfo cki = IO.getKeyFromUser(); while (cki.Key != ConsoleKey.Enter) { if (cki.Key == ConsoleKey.Escape) { throw new ProcessToShowTable(); } text += cki.KeyChar; cki = IO.getKeyFromUser(); } IO.print("Поиск по тексту - " + text); tm.findTasksByText(text); IO.printTable(new string[] { "id", "[X]/[ ]", "Дата", "Задание" }, tm.getTaskManagerDataGrid()); IO.print("Нажмите любую клавишу для возврата."); IO.getKeyFromUser(); throw new ProcessToShowTable(); }
public static void deleteTasksFromTableByText(DB_impl DB, Task_manager_impl tm, ConsoleIO_impl IO) { IO.clear(); IO.print("Список " + DB.MainTable); tm = DB.getAllTasks(); IO.printTable(new string[] { "id", "[X]/[ ]", "Дата", "Задание" }, tm.getTaskManagerDataGrid()); IO.print("Для удаления по тексту введите текст\n" + "[Назад - esc]"); string text; ConsoleKeyInfo cki; while (true) { text = ""; cki = IO.getKeyFromUser(); while (cki.Key != ConsoleKey.Enter) { if (cki.Key == ConsoleKey.Escape) { throw new ProcessToShowTable(); } text += cki.KeyChar; cki = IO.getKeyFromUser(); } tm.findTasksByText(text); if (tm.getTasks().Count == 0) { tm = DB.getAllTasks(); IO.clear(); IO.printTable(new string[] { "id", "[X]/[ ]", "Дата", "Задание" }, tm.getTaskManagerDataGrid()); IO.print("Не найдено совпадений! Введите текст еще раз!"); } else { break; } } IO.clear(); 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(); }