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();
        }
예제 #2
0
        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();
        }