public VersionControlSystemInfo CreateRepositoryForProject(CreateProjectRequest request) { var project = new ProjectCreate { IssuesEnabled = false, Description = request.Info, MergeRequestsEnabled = false, Name = request.Name, VisibilityLevel = request.AccessLevel == AccessLevel.Public ? VisibilityLevel.Public : VisibilityLevel.Private }; var createdProject = _gitLabClient.Projects.Create(project); return new VersionControlSystemInfo(createdProject.Id, new Uri(createdProject.WebUrl)); }
public RedmineProjectInfo CreateProject(CreateProjectRequest request) { Require.NotNull(request, nameof(request)); var project = new Project { Name = request.Name, Identifier = GetProjectIdentifier(request.Name), Status = ProjectStatus.Active, Description = request.Info, IsPublic = request.AccessLevel == AccessLevel.Public }; var readyProject = _redmineManager.CreateObject(project); return new RedmineProjectInfo( readyProject.Id, new Uri($"{_redmineSettings.RedmineHost}/projects/{readyProject.Identifier}"), readyProject.Identifier); }
public int CreateProject(CreateProjectRequest request) { Require.NotNull(request, nameof(request)); var versionControlSystemInfo = _versionControlSystemGateway.CreateRepositoryForProject(request); var projectManagementSystemId = _projectManagerGateway.CreateProject(request); var project = new Project( request.Name, new HashSet<ProjectType>(request.ProjectTypes), request.Info, request.ProjectStatus, request.LandingImage, request.AccessLevel, versionControlSystemInfo, projectManagementSystemId, null, null, request.Screenshots != null ? new HashSet<Image>(request.Screenshots) : null ); var projectId = _projectRepository.SaveProject(project); _eventSink.ConsumeEvent(new NewProjectCreated(projectId)); return projectId; }
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); }