Esempio n. 1
0
        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;
            }
        }
Esempio n. 3
0
        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;
            }
        }