Exemple #1
0
 public JoinProjectCommand(
     IPrincipal user,
     int projectId,
     JoinProjectRequest joinProjectRequest)
 {
     ProjectId = projectId;
     AtlasHash = joinProjectRequest.AtlasHash;
     User      = user;
 }
Exemple #2
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));
        }