public static async Task<HttpResponseMessage> CreateProjectAsync() { var client = new HttpClient(); var project = new ProjectActionRequest() { Name = "TypicalNamsdfse", AccessLevel = AccessLevel.Public, Info = "TypicalInfo", LandingImage = new Image( new Uri("https://pp.vk.me/c543107/v543107881/af01/zxFX1YLyVOE.jpg"), new Uri("https://pp.vk.me/c543107/v543107881/af01/zxFX1YLyVOE.jpg")), ProjectTypes = new[] { ProjectType.Game, ProjectType.MobileApp, } }; var response = await client.PostAsync( new Uri(Settings.EndpointUri, "projects"), project, new JsonMediaTypeFormatter()); return response; }
public IHttpActionResult CreateProject([FromBody] ProjectActionRequest createProjectRequest) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var request = new CreateProjectRequest( createProjectRequest.Name, createProjectRequest.ProjectTypes, createProjectRequest.Info, createProjectRequest.ProjectStatus, createProjectRequest.AccessLevel, createProjectRequest.LandingImage, createProjectRequest.Screenshots); var projectId = _projectProvider.CreateProject(request); return(Ok(projectId)); }
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()); }