public async Task <ResponseEntity> createTask(taskInsert model, string token) { UserJira user = _userService.getUserByToken(token).Result; Project pro = _projectRepository.GetSingleByConditionAsync("id", model.projectId).Result; if (pro == null) { return(new ResponseEntity(StatusCodeConstants.NOT_FOUND, "Project is not found!", MessageConstants.MESSAGE_ERROR_404)); } if (pro.creator != user.id) { return(new ResponseEntity(StatusCodeConstants.FORBIDDEN, "User is unthorization!", MessageConstants.MESSAGE_ERROR_403)); } string alias = FuncUtilities.BestLower(model.taskName); //Kiểm tra task tồn tại chưa var taskValid = _taskRepository.GetSingleByConditionAsync("alias", alias).Result; if (taskValid != null) { return(new ResponseEntity(StatusCodeConstants.ERROR_SERVER, "task already exists!", MessageConstants.MESSAGE_ERROR_500)); } Repository.Models.Task task = new Repository.Models.Task(); task.taskName = model.taskName; task.alias = FuncUtilities.BestLower(model.taskName); task.description = FuncUtilities.Base64Encode(model.description); task.statusId = model.statusId; task.originalEstimate = model.originalEstimate; task.timeTrackingSpent = model.timeTrackingSpent; task.timeTrackingRemaining = model.timeTrackingRemaining; task.projectId = model.projectId; task.typeId = model.typeId; task.reporterId = user.id; task.priorityId = model.priorityId; task.deleted = false; task.reporterId = user.id; task = _taskRepository.InsertAsync(task).Result; foreach (var item in model.listUserAsign) { Task_User tu = new Task_User(); tu.taskId = task.taskId; tu.deleted = false; tu.userId = item; await _taskUserRepository.InsertAsync(tu); } return(new ResponseEntity(StatusCodeConstants.OK, task, "create task successfully!")); }
public async Task <ResponseEntity> addTaskUser(TaskUser model, string token) { var task = _taskRepository.GetSingleByConditionAsync("taskId", model.taskId).Result; if (task == null) { return(new ResponseEntity(StatusCodeConstants.NOT_FOUND, "task is not found!", MessageConstants.MESSAGE_ERROR_404)); } UserJira user = _userService.getUserByToken(token).Result; Project pro = _projectRepository.GetSingleByConditionAsync("id", task.projectId).Result; if (pro == null) { return(new ResponseEntity(StatusCodeConstants.NOT_FOUND, "Project is not found!", MessageConstants.MESSAGE_ERROR_404)); } if (pro.creator != user.id) { return(new ResponseEntity(StatusCodeConstants.FORBIDDEN, "User is unthorization!", MessageConstants.MESSAGE_ERROR_403)); } List <KeyValuePair <string, dynamic> > columns = new List <KeyValuePair <string, dynamic> >(); columns.Add(new KeyValuePair <string, dynamic>("taskId", model.taskId)); columns.Add(new KeyValuePair <string, dynamic>("userId", model.userId)); var taskUser = _taskUserRepository.GetMultiByListConditionAndAsync(columns).Result; if (taskUser.Count() > 0) { return(new ResponseEntity(StatusCodeConstants.ERROR_SERVER, "User is unthorization!", MessageConstants.ACCOUNT_EXITST_TASK)); } Task_User taskUserInsert = new Task_User(); taskUserInsert.userId = model.taskId; taskUserInsert.taskId = model.userId; await _taskUserRepository.InsertAsync(taskUserInsert); return(new ResponseEntity(StatusCodeConstants.OK, "add user to task successfully!", MessageConstants.UPDATE_SUCCESS)); }
public async Task <ResponseEntity> updateTask(TaskEdit model, string token) { UserJira user = _userService.getUserByToken(token).Result; Project pro = _projectRepository.GetSingleByConditionAsync("id", model.projectId).Result; Repository.Models.Task taskModel = _taskRepository.GetSingleByConditionAsync("taskId", model.taskId).Result; if (taskModel == null) { return(new ResponseEntity(StatusCodeConstants.NOT_FOUND, "Task is not found!", MessageConstants.MESSAGE_ERROR_404)); } if (pro == null) { return(new ResponseEntity(StatusCodeConstants.NOT_FOUND, "Project is not found!", MessageConstants.MESSAGE_ERROR_404)); } if (pro.creator != user.id) { return(new ResponseEntity(StatusCodeConstants.FORBIDDEN, "User is unthorization!", MessageConstants.MESSAGE_ERROR_403)); } string alias = FuncUtilities.BestLower(model.taskName); //Kiểm tra task tồn tại chưa var taskValid = _taskRepository.GetSingleByConditionAsync("alias", alias).Result; if (taskValid.taskId != taskModel.taskId) { return(new ResponseEntity(StatusCodeConstants.ERROR_SERVER, "Task name already exists!", MessageConstants.MESSAGE_ERROR_500)); } taskModel.taskName = model.taskName; taskModel.alias = FuncUtilities.BestLower(model.taskName); taskModel.description = FuncUtilities.Base64Encode(model.description); taskModel.statusId = model.statusId; taskModel.originalEstimate = model.originalEstimate; taskModel.timeTrackingSpent = model.timeTrackingSpent; taskModel.timeTrackingRemaining = model.timeTrackingRemaining; taskModel.projectId = model.projectId; taskModel.typeId = model.typeId; taskModel.reporterId = user.id; taskModel.priorityId = model.priorityId; taskModel.deleted = false; await _taskRepository.UpdateAsync("taskId", taskModel.taskId, taskModel); //dell user cũ var taskUserCu = _taskUserRepository.GetMultiByConditionAsync("taskId", taskModel.taskId).Result; if (taskUserCu.Count() > 0) { List <dynamic> lstDynamicId = new List <dynamic>(); foreach (var item in taskUserCu) { lstDynamicId.Add(item.id); } await _taskUserRepository.DeleteByIdAsync(lstDynamicId); } foreach (var item in model.listUserAsign) { Task_User tu = new Task_User(); tu.taskId = taskModel.taskId; tu.deleted = false; tu.userId = item; await _taskUserRepository.InsertAsync(tu); } return(new ResponseEntity(StatusCodeConstants.OK, taskModel, "update task successfully!")); }