Beispiel #1
0
        public override string Execute()
        {
            if (!(AutoConfirm || Console.GetYesNo($"Are you sure you want to remove user {User} from project {Project}?", false)))
            {
                return(string.Empty);
            }

            Console.WriteLine($"Trying to remove {User} from project {Project}...");

            string message = string.Empty;

            var project = _projectService.GetProjectByName(Project).Result;
            var user    = _accountService.GetUserByUserName(User).Result;

            if (project != null && user != null)
            {
                var projectMember = _projectMemberService.GetProjectMemberByUserId(project.Id, int.Parse(user.Id)).Result;

                if (projectMember != null)
                {
                    _projectMemberService.RemoveProjectMember(project.Id, projectMember.Id).Wait();
                    message = $"User {User} has been removed from project {Project}";
                    Logger.LogInformation(message);
                    return(message);
                }
            }
            else
            {
                message = $"Failed to remove user {User}. Make sure the project name and user email are correct.";
            }

            return(message);
        }
Beispiel #2
0
        public async Task <IActionResult> RemoveProjectMember(int projectId, int memberId)
        {
            _logger.LogInformation("Removing member {memberId} in project {projectId}", memberId, projectId);

            try
            {
                var member = await _projectMemberService.GetProjectMemberById(memberId);

                if (member != null)
                {
                    int currentUserId = 0;

                    if (!User.IsInRole(UserRole.Administrator))
                    {
                        currentUserId = User.GetUserId();
                    }

                    await _projectMemberService.RemoveProjectMember(projectId, member.UserId, currentUserId);
                }

                return(NoContent());
            }
            catch (RemoveProjectOwnerException ex)
            {
                _logger.LogWarning(ex, "Cannot remove project owner");
                return(BadRequest(ex.Message));
            }
        }
Beispiel #3
0
        public ApiResult RemoveMember(int projectId, int memberId)
        {
            var projectMember = _projectMemberService.GetProjectMember(projectId, memberId);

            if (projectMember == null)
            {
                return(ApiResult.BadRequest());
            }

            _projectMemberService.RemoveProjectMember(projectMember);

            return(ApiResult.NoContent());
        }