public IHttpActionResult AddDeveloperToProject(int projectId, int developerId, [FromBody] string role) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } User.AssertResourceOwnerOrAdmin(developerId); try { _projectProvider.GetProject(projectId); _userManager.GetUser(developerId); } catch (ProjectNotFoundException) { return(NotFound()); } catch (AccountNotFoundException) { return(NotFound()); } try { _projectProvider.AddUserToProject(projectId, developerId, role); } catch (InvalidOperationException) { return(Conflict()); } return(Ok()); }