コード例 #1
0
        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"));
        }
コード例 #2
0
        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"));
        }