Esempio n. 1
0
 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;
     }            
 }
Esempio n. 2
0
        /// <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);    
        }