private static bool CheckTaskListForNull(out IReadOnlyRepository<UserTask> taskRreadOnlyRepository) { taskRreadOnlyRepository = TaskRepositoryFactory.Create(); taskRreadOnlyRepository.Read(out bool listNotEmpty); if (!listNotEmpty) { OutputStringConsole("Список задач пуст", null, ConsoleColor.Green); return listNotEmpty; } else { return true; } }
/// <summary> /// Реализация у самой не вызывает восторга ))) поздно приступила с д/з /// </summary> /// <param name="args"></param> static void Main(string[] args) { ILoggerService logger = LoggerFactory.CreateLogger(); ITaskRepository taskRepository = TaskRepositoryFactory.Create(); List<UserTask> tasks = new List<UserTask>(); bool flag; Show(); ConsoleKeyInfo cki; //Выполняем пока не нажмем ESC do { cki = Console.ReadKey(); switch (cki.Key) { //Вывести список задач на консоль case ConsoleKey.NumPad1: case ConsoleKey.D1: { #region Вывод списка задач на консоль if(CheckTaskListForNull(out IReadOnlyRepository<UserTask> taskRreadOnlyRepository)) { tasks = (List<UserTask>)taskRreadOnlyRepository.Read(out flag); if(tasks.Count !=0) DisplayTaskListOnConsole(tasks); else OutputStringConsole("Список задач пуст", null, ConsoleColor.Green); } Show(); break; #endregion } //Создать новую задачу case ConsoleKey.NumPad2: case ConsoleKey.D2: { #region Добавление таски OutputStringConsole("=== Добавление новой задачи ===", null, ConsoleColor.Magenta); UserTask task = new UserTask() { }; //Дата и время создание задачи task.TasDateCreated = DateTime.Now; //Описание задачи Console.WriteLine("Введите описание задачи: "); string taskSubject = Console.ReadLine(); task.TaskSubject = taskSubject; //Выбор исполнителя task.Assignee = Assignee(); //Задаем статус задачи - New task.TaskStatus = TaskStatus.New; //Указываем приоритет задачи Priority(out TaskPriority priority); task.TaskPriority = priority; Console.WriteLine("\nСрок выполнения задачи"); //устанавливаем срок сдачи задачи DeadlineDataTime(out DateTime endDataTime); task.TaskEndData = endDataTime; taskRepository.Create(task); OutputStringConsole("Задача успешно создана", null, ConsoleColor.Green); Show(); break; #endregion } //Edite task case ConsoleKey.NumPad3: case ConsoleKey.D3: { #region Редактирование таски //реализовать OutputStringConsole("Не успела реализовать, но точно доделаю ))", null, ConsoleColor.Blue); Show(); break; #endregion } //Delete task case ConsoleKey.NumPad4: case ConsoleKey.D4: { #region Удаление таски bool fl = true; if (CheckTaskListForNull(out IReadOnlyRepository<UserTask> taskRreadOnlyRepository)) { tasks = (List<UserTask>)taskRreadOnlyRepository.Read(out flag); DisplayTaskListOnConsole(tasks); OutputStringConsole("Указите номер задачи для удаления:", null, ConsoleColor.Green); string strTask = Console.ReadLine(); EnteredStringParse(strTask, out int numTask, out flag); foreach (var task in tasks) { if (numTask == task.Id) { taskRepository.Delete(task.Id); OutputStringConsole("Задача номер {0} удалена", numTask, ConsoleColor.Yellow); fl = false; } } if (fl) Console.WriteLine("Задачи с данным номером не существует\n"); Show(); } break; #endregion } //Создать нового юзера case ConsoleKey.NumPad5: case ConsoleKey.D5: { #region Добавление нового юзера OutputStringConsole("=== Добавление нового юзера ===", null, ConsoleColor.Magenta); AddNewUser(); OutputStringConsole("Новый юзер добавлен", null, ConsoleColor.Green); Show(); break; #endregion } default: break; } } while (cki.Key != ConsoleKey.Escape); }