Example #1
0
 public void RemoveUserFromProject(Project project, int gitlabUserId)
 {
     Require.NotNull(project, nameof(project));
     Require.Positive(gitlabUserId, nameof(gitlabUserId));
     _gitLabClient.ProjectMembers.DeleteProjectMember(new RemoveProjectMembershipRequest
     {
         ProjectId = project.VersionControlSystemInfo.ProjectId,
         UserId    = gitlabUserId
     });
 }
Example #2
0
        public ProjectPreview ToProjectPreview(Project project)
        {
            Require.NotNull(project, nameof(project));

            return(new ProjectPreview(
                       project.ProjectId,
                       project.LandingImage?.SmallPhotoUri,
                       project.Name,
                       project.ProjectStatus,
                       project.ProjectTypes.ToArray()));
        }
Example #3
0
 public void AddUserToRepository(Project project, int gitlabUserId)
 {
     Require.NotNull(project, nameof(project));
     Require.Positive(gitlabUserId, nameof(gitlabUserId));
     _gitLabClient.ProjectMembers.AddProjectMember(new ProjectMembershipCreateRequest
     {
         UserId      = gitlabUserId,
         ProjectId   = project.VersionControlSystemInfo.ProjectId,
         AccessLevel = DeveloperAccessLevel
     });
 }
 public void AddUserToRepository(Project project, int gitlabUserId)
 {
     Require.NotNull(project, nameof(project));
     Require.Positive(gitlabUserId, nameof(gitlabUserId));
     _gitLabClient.ProjectMembers.AddProjectMember(new ProjectMembershipCreateRequest
     {
         UserId = gitlabUserId,
         ProjectId = project.VersionControlSystemInfo.ProjectId,
         AccessLevel = DeveloperAccessLevel
     });
 }
Example #5
0
 public Models.Project ToProject(Project project)
 {
     return(new Models.Project(
                project.ProjectId,
                project.Name,
                project.ProjectTypes.ToArray(),
                project.Info,
                project.ProjectStatus,
                project.LandingImage,
                new HashSet <Issue>(project.Issues),
                new HashSet <ProjectMembershipDto>(project.ProjectMemberships.Select(ToProjectMembershipDto)),
                new HashSet <Common.Image>(project.Screenshots)));
 }
 public Models.Project ToProject(Project project)
 {
     return new Models.Project(
         project.ProjectId,
         project.Name,
         project.ProjectTypes.ToArray(),
         project.Info,
         project.ProjectStatus,
         project.LandingImage,
         project.VersionControlSystemInfo.ProjectUrl,
         project.RedmineProjectInfo.ProjectUrl,
         new HashSet<Issue>(project.Issues),
         new HashSet<ProjectMembershipDto>(project.ProjectMemberships.Select(ToProjectMembershipDto)),
         new HashSet<Common.Image>(project.Screenshots));
 }
Example #7
0
        public VersionControlSystemInfo UpdateRepositoryForProject(Project projectToUpdate)
        {
            var project = new ProjectUpdate
            {
                Id              = projectToUpdate.VersionControlSystemInfo.ProjectId,
                Name            = projectToUpdate.Name,
                Description     = projectToUpdate.Info,
                Public          = projectToUpdate.AccessLevel == AccessLevel.Public,
                VisibilityLevel = projectToUpdate.AccessLevel == AccessLevel.Public ? VisibilityLevel.Public : VisibilityLevel.Private
            };

            var updatedProject = _gitLabClient.Projects.Update(project);

            return(new VersionControlSystemInfo(updatedProject.Id, new Uri(updatedProject.WebUrl)));
        }
        public void UpdateProject(Project project)
        {
            Require.NotNull(project, nameof(project));

            var session = _databaseSessionProvider.GetCurrentSession();

            session.Update(project);
        }
 public static bool OnlyPublic(Project project)
 {
     return project.AccessLevel == AccessLevel.Public;
 }
        public ProjectPreview ToProjectPreview(Project project)
        {
            Require.NotNull(project, nameof(project));

            return new ProjectPreview(
                project.ProjectId,
                project.LandingImage?.SmallPhotoUri,
                project.Name,
                project.ProjectStatus,
                project.ProjectTypes.ToArray());
        }
        public IndexPageProject ToIndexPageProject(Project project)
        {
            Require.NotNull(project, nameof(project));

            return new IndexPageProject(project.ProjectId, project.LandingImage?.SmallPhotoUri, project.Name);
        }
        public void UpdateProject(Project project)
        {
            Require.NotNull(project, nameof(project));

            _versionControlSystemGateway.UpdateRepositoryForProject(project);

            _projectRepository.UpdateProject(project);
        }
        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 int SaveProject(Project project)
        {
            Require.NotNull(project, nameof(project));

            var session = _databaseSessionProvider.GetCurrentSession();
            return (int) session.Save(project);
        }
 public static bool OnlyDoneOrInProgress(Project project)
 {
     return project.ProjectStatus == ProjectStatus.Done
            || project.ProjectStatus == ProjectStatus.InProgress;
 }
Example #16
0
        public IndexPageProject ToIndexPageProject(Project project)
        {
            Require.NotNull(project, nameof(project));

            return(new IndexPageProject(project.ProjectId, project.LandingImage?.SmallPhotoUri, project.Name));
        }
 public void RemoveUserFromProject(Project project, int gitlabUserId)
 {
     Require.NotNull(project, nameof(project));
     Require.Positive(gitlabUserId, nameof(gitlabUserId));
     _gitLabClient.ProjectMembers.DeleteProjectMember(new RemoveProjectMembershipRequest
     {
         ProjectId = project.VersionControlSystemInfo.ProjectId,
         UserId = gitlabUserId
     });
 }
        public VersionControlSystemInfo UpdateRepositoryForProject(Project projectToUpdate)
        {
            var project = new ProjectUpdate
            {
                Id = projectToUpdate.VersionControlSystemInfo.ProjectId,
                Name = projectToUpdate.Name,
                Description = projectToUpdate.Info,
                Public = projectToUpdate.AccessLevel == AccessLevel.Public,
                VisibilityLevel = projectToUpdate.AccessLevel == AccessLevel.Public ? VisibilityLevel.Public : VisibilityLevel.Private
            };

            var updatedProject = _gitLabClient.Projects.Update(project);
            return new VersionControlSystemInfo(updatedProject.Id, new Uri(updatedProject.WebUrl));
        }