public ActionResult Create(ProjectUpdateInput createInput) { if (ModelState.IsValid) { _messageBus.Send( new ProjectCreateCommand() { UserId = _userContext.GetAuthenticatedUserId(), Name = createInput.Name, Description = createInput.Description, Website = createInput.Website, AvatarId = createInput.AvatarId, BackgroundId = createInput.BackgroundId, Categories = createInput.Categories }); } else { Response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest; } dynamic viewModel = new ExpandoObject(); viewModel.Project = createInput; return(RestfulResult( viewModel, "projects", "create")); }
public ActionResult Update(ProjectUpdateInput updateInput) { string projectId = VerbosifyId <Project>(updateInput.Id); if (!_permissionManager.DoesExist <Project>(projectId)) { return(HttpNotFound()); } if (!_userContext.HasGroupPermission <Project>(PermissionNames.UpdateProject, projectId)) { return(new HttpUnauthorizedResult()); } if (ModelState.IsValid) { _messageBus.Send( new ProjectUpdateCommand() { UserId = _userContext.GetAuthenticatedUserId(), Id = projectId, Name = updateInput.Name, Description = updateInput.Description, Website = updateInput.Website, AvatarId = updateInput.AvatarId, BackgroundId = updateInput.BackgroundId, Categories = updateInput.Categories }); } else { Response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest; } dynamic viewModel = new ExpandoObject(); viewModel.Project = updateInput; return(RestfulResult( viewModel, "projects", "update")); }