public async Task <TaskDto> UpdateTask(TaskRequestDTO taskToUpdateDTO) { var taskUpdate = _mapper.Map <Models.Task>(taskToUpdateDTO); var taskUpdateDB = await _taskRepository.UpdateTask(taskUpdate); if (taskToUpdateDTO.IsAddNewAssignee && taskToUpdateDTO.AssignedUsersToAdd.Count > 0) { foreach (var user in taskToUpdateDTO.AssignedUsersToAdd) { var newTaskAssign = new TaskAssigning { Task = taskToUpdateDTO.IdTask, User = user }; await _taskRepository.CreateNewTaskAssigning(newTaskAssign); } } if (taskToUpdateDTO.IsRemoveAssignee && taskToUpdateDTO.AssignedUsersToRemove.Count > 0) { foreach (var user in taskToUpdateDTO.AssignedUsersToRemove) { var taskAssigningToRemove = await _taskRepository.GetTaskAssigningByTaskAndUser(taskToUpdateDTO.IdTask, user); await _taskRepository.DeleteTaskAssigning(taskAssigningToRemove.IdAssign); } } return(await this.GetTaskById(taskToUpdateDTO.IdTask)); }
public async Task <TaskAssigning> CreateNewTaskAssigning(TaskAssigning newTaskAssigning) { var newTaskAssignDb = await _context.TaskAssigning.AddAsync(newTaskAssigning); await _context.SaveChangesAsync(); return(newTaskAssignDb.Entity); }
public async Task <TaskDto> CreateNewTask(TaskRequestDTO newTaskRequestDto) { var newTask = _mapper.Map <Models.Task>(newTaskRequestDto); var newCreatedTask = await _taskRepository.CreateNewTask(newTask); if (newTaskRequestDto.AssignedUsers.Count > 0) { foreach (var user in newTaskRequestDto.AssignedUsers) { var newTaskAssign = new TaskAssigning { Task = newCreatedTask.IdTask, User = user }; await _taskRepository.CreateNewTaskAssigning(newTaskAssign); } } var newCreatedTaskDto = await this.GetTaskById(newCreatedTask.IdTask); return(newCreatedTaskDto); }