예제 #1
0
        public async Task <IActionResult> Join([FromBody] ProjectContributor projectContributor)
        {
            var command = new JoinProjectCommand {
                ProjectContributor = projectContributor
            };
            await _mediator.Send(command);

            return(Ok());
        }
예제 #2
0
        public async Task <IActionResult> JoinProject(ProjectContributor contributor)
        {
            var command = new JoinProjectCommand()
            {
                Contributor = contributor
            };
            await _mediator.Send(command);

            return(Ok());
        }
예제 #3
0
 public async Task<IActionResult> JoinAsync(int projectId, [FromBody]ProjectContributor projectContributor)
 {
     if (!(await _recommendService.IsProjectInRecommend(UserIdentity.UserId, projectId)))
     {
         throw new UserOperationException("无权查看该项目");
     }
     var joinProjectCommand = new JoinProjectCommand { Contributor = projectContributor };
     await _mediator.Send(joinProjectCommand);
     return Ok();
 }
예제 #4
0
        public async Task <IActionResult> JoinProject(int projectId, [FromBody] ProjectContributor contributor)
        {
            if (await _recommendService.IsProjectInRecommend(projectId, UserIdentity.UserId))
            {
                return(BadRequest("没有查看该项目的权限"));
            }
            var command = new JoinProjectCommand {
                Contributor = contributor
            };
            await _mediator.Send(command);

            return(Ok());
        }
예제 #5
0
        public async Task <IActionResult> JoinProject(int projectId, [FromBody] JoinProjectRequest joinProjectRequest)
        {
            var joinProjectCommand = new JoinProjectCommand(User, projectId, joinProjectRequest);
            var joinProjectResult  = await _mediator.Send(joinProjectCommand);

            return(joinProjectResult.IsSuccess
                ? joinProjectResult.Value.NeedsPreparation
                    ? AcceptedAtRoute(nameof(BackgroundTaskController.GetBackgroundTask), new { backgroundTaskId = joinProjectResult.Value.TaskId })
                    : Ok(joinProjectResult.Value.TaskId)
                : joinProjectResult.IsSuccess
                    ? Ok(joinProjectResult.Value)
                    : BadRequest(joinProjectResult.Error));
        }
예제 #6
0
        public async Task <IActionResult> JoinProject([FromBody] Domain.AggregatesModel.ProjectContributor contributor)
        {
            if (!(await _recommand.IsRecommendedProject(contributor.ProjectId, UserIdentity.UserId)))
            {
                return(BadRequest("没有加入该项目的权限"));
            }
            var command = new JoinProjectCommand <bool> {
                Contributor = contributor
            };
            await _mediator.Send(command);

            return(Ok());
        }
        public async Task <IActionResult> JoinProject([FromBody] ProjectContributor contributor)
        {
            if (!await _recommendService.IsProjectRecommend(contributor.ProjectId, UserIdentity.UserId))
            {
                return(BadRequest("没有查看该项目的权限"));
            }
            var command = new JoinProjectCommand {
                Contributor = contributor
            };
            var result = await _mediatR.Send(command, new CancellationToken());

            return(Ok(result));
        }
        public async Task <IActionResult> JoinProject([FromBody] ProjectContributor contributor)
        {
            if (!(await _recommendService.IsProjectInRecommend(contributor.ProjectId, UserIdentity.UserId)))
            {
                return(BadRequest(ProjectMessageTip.NoAuthViewproject));
            }
            var command = new JoinProjectCommand()
            {
                Contributor = contributor
            };
            await _mediator.Send(command);

            return(Ok());
        }
예제 #9
0
        public async Task <IActionResult> JoinProject([FromBody] ProjectContributor projectContributor)
        {
            if (await _recommendService.IsProjectInRecommend(projectContributor.ProjectId, UserIdentity.UserId))
            {
                return(BadRequest());
            }
            var command = new JoinProjectCommand()
            {
                ProjectContributor = projectContributor
            };
            var result = await _mediator.Send(command);

            return(Ok(result));
        }
예제 #10
0
        public async Task <IActionResult> JoinProjectAsync([FromBody] Domain.AggregatesModel.ProjectContributor contributor)
        {
            if (await _recommendService.IsProjectInRecommend(contributor.ProjectId, UserIdentity.UserId))
            {
                return(BadRequest("没有查看该项目的权限!"));
            }
            var command = new JoinProjectCommand()
            {
                Contributor = contributor
            };

            var result = await _mediator.Send(command);

            return(Ok(result));
        }
        public async Task <IActionResult> JoinProject(ProjectContributor contributor)
        {
            if (!(await _recommendService.IsProjectInRecommend(contributor.ProjectId, UserIdentity.UserId)))
            {
                //可以抛全局异常
                return(BadRequest("同志,那可不是你能看的项目哦~"));
            }

            //Todo: 参数正确性判断

            var command = new JoinProjectCommand {
                Contributor = contributor
            };
            var project = await _mediator.Send(command);

            return(Ok(project));
        }
예제 #12
0
        public async Task <IActionResult> JoinProject([FromBody] ProjectContributor contributor)
        {
            if (contributor == null)
            {
                throw new ArgumentNullException(nameof(contributor));
            }
            if (!await _commandService.IsRecommandProject(contributor.ProjectId, UserIdentity.CurrentUserId))
            {
                return(BadRequest("不具有查看当前项目的权限"));
            }
            var cmd = new JoinProjectCommand()
            {
                ProjectContributor = contributor
            };
            await _mediator.Send(cmd);

            return(Ok());
        }