Ejemplo n.º 1
0
        internal List <TaskViewModel> Search(string term, int userId, int projectId)
        {
            var tasksList = _context.Tasks.Where(t => (t.Project.Users.Any(u => u.UserId == userId) || t.Project.Owner.UserId == userId) && t.Project.ProjectId == projectId);

            if (!string.IsNullOrEmpty(term))
            {
                tasksList = tasksList.Where(t => t.Name.StartsWith(term));
            }
            return(tasksList.ToList().Select(t => TaskViewModel.From(t)).ToList());
        }
Ejemplo n.º 2
0
        internal TaskViewModel Create(TaskViewModel taskViewModel)
        {
            var taskModel = new Models.Task
            {
                Name    = taskViewModel.Name,
                Project = _context.Projects.Single(p => p.ProjectId == taskViewModel.ProjectId)
            };

            _context.Tasks.Add(taskModel);

            _context.SaveChanges();

            return(TaskViewModel.From(taskModel));
        }
Ejemplo n.º 3
0
        internal TaskViewModel Update(TaskViewModel task, int userId)
        {
            var taskToUpdate = _context.Tasks.SingleAsync(t => t.TaskId == task.Id).Result;

            if (!taskToUpdate.Project.Users.Any(u => u.UserId == userId) && taskToUpdate.Project.Owner.UserId != userId)
            {
                throw new UnauthorizedAccessException("You are not allowed to edit this task!");
            }

            taskToUpdate.Name = task.Name;

            _context.SaveChanges();

            return(TaskViewModel.From(taskToUpdate));
        }
Ejemplo n.º 4
0
        internal TaskViewModel Get(int taskId)
        {
            var taskModel = _context.Tasks.Single(u => u.TaskId == taskId);

            return(TaskViewModel.From(taskModel));
        }
Ejemplo n.º 5
0
        internal List <TaskViewModel> List(int userId)
        {
            var tasksList = _context.Tasks.Where(t => t.Project.Users.Any(u => u.UserId == userId) || t.Project.Owner.UserId == userId).ToList();

            return(tasksList.Select(t => TaskViewModel.From(t)).ToList());
        }