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!"));
        }
示例#2
0
        public async Task <IActionResult> createTask(taskInsert model)
        {
            var accessToken = Request.Headers[HeaderNames.Authorization];

            return(await _projectService.createTask(model, accessToken));
        }