Пример #1
0
        public List <Task> GetTasks(int userId)
        {
            List <Task> tasks = TaskRepository.GetItems().Include(x => x.Manager).Include(x => x.Creator).Include(x => x.Executor).Where(x => x.ManagerID == userId || x.ExecutorID == userId || x.CreatorID == userId).ToList();

            foreach (var task in tasks)
            {
                Status oldStatus = task.CurrentStatus;
                task.ChangeStatus();
                if (oldStatus != task.CurrentStatus)
                {
                    StatusHistoryRepository.AddItem(new StatusHistory()
                    {
                        Status        = task.CurrentStatus,
                        TaskID        = task.ID,
                        TimeActivated = DateTime.Now
                    });
                }
            }
            TaskRepository.SaveChanges();
            return(tasks);
        }