예제 #1
0
        public IHttpActionResult UpdateProject(int projectId, [FromBody] ProjectActionRequest updateProjectRequest)
        {
            Require.Positive(projectId, nameof(projectId));

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var projectToUpdate = _projectProvider.GetProject(projectId);

            projectToUpdate.Info          = updateProjectRequest.Info;
            projectToUpdate.AccessLevel   = updateProjectRequest.AccessLevel;
            projectToUpdate.Name          = updateProjectRequest.Name;
            projectToUpdate.ProjectTypes  = new HashSet <ProjectType>(updateProjectRequest.ProjectTypes);
            projectToUpdate.ProjectStatus = updateProjectRequest.ProjectStatus;
            projectToUpdate.LandingImage  = updateProjectRequest.LandingImage;
            projectToUpdate.Screenshots   = new HashSet <Image>(updateProjectRequest.Screenshots);

            _projectProvider.UpdateProject(projectToUpdate);

            return(Ok());
        }