public override string Execute() { Console.WriteLine($"Trying to update the role of {User} in project {Project}..."); string message; var project = _projectService.GetProjectByName(Project).Result; var user = _accountService.GetUserByUserName(User).Result; var roleId = MemberRole.GetMemberRoleId(Role); if (project != null && user != null && roleId > 0) { var projectMember = _projectMemberService.GetProjectMemberByUserId(project.Id, int.Parse(user.Id)).Result; if (projectMember != null) { _projectMemberService.UpdateProjectMember(project.Id, projectMember.Id, new UpdateProjectMemberDto { Id = projectMember.Id, UserId = int.Parse(user.Id), ProjectMemberRoleId = roleId }).Wait(); message = $"User {User} has been assigned as {Role} in project {Project}"; Logger.LogInformation(message); return(message); } } message = $"Failed to update user {User}. Make sure the project name and user email are correct."; return(message); }
public override string Execute() { Console.WriteLine($"Trying to get members of project {Project}..."); string message; var project = _projectService.GetProjectByName(Project).Result; if (project != null) { var roleId = MemberRole.GetMemberRoleId(Role ?? string.Empty); var projectMembers = _projectMemberService.GetProjectMembers(project.Id, roleId).Result; message = projectMembers.Select(m => new MemberListViewModel { UserId = m.UserId, Username = m.Username, Role = m.ProjectMemberRoleName }).ToListCliString($"Found {projectMembers.Count} project member(s):"); } else { message = $"Project {Project} was not found"; } return(message); }
public override string Execute() { Console.WriteLine($"Trying to add {User} as member of project {Project}..."); string message; var project = _projectService.GetProjectByName(Project).Result; var user = _accountService.GetUserByUserName(User).Result; var roleId = MemberRole.GetMemberRoleId(Role); if (project != null) { var projectMember = _projectMemberService.CreateProjectMember(project.Id, new NewProjectMemberDto { UserId = user != null ? int.Parse(user.Id) : 0, Email = User, ProjectId = project.Id, ProjectMemberRoleId = roleId }).Result; var addedMember = new MemberViewModel { UserId = projectMember.UserId, Username = projectMember.Username, Role = projectMember.ProjectMemberRoleName }; message = addedMember.ToCliString($"User has been added to project {Project}:"); Logger.LogInformation(message); } else { message = $"Project {Project} was not found"; } return(message); }
public override string Execute() { Console.WriteLine($"Trying to add {User} as member of project {Project}..."); string message; var project = _projectService.GetProjectByName(Project).Result; var user = _accountService.GetUserByUserName(User).Result; var roleId = MemberRole.GetMemberRoleId(Role); if (project != null) { var newMember = new NewProjectMemberDto { UserId = user != null?int.Parse(user.Id) : 0, Email = User, ProjectId = project.Id, ProjectMemberRoleId = roleId }; if (user == null) { var externalAccountTypes = _accountService.GetExternalAccountTypes().Result; Console.WriteLine("You are creating a new user. Please fill in the user info."); newMember.FirstName = Console.GetString("First Name (Optional):"); newMember.LastName = Console.GetString("Last Name (Optional):"); var externalAccountIds = new Dictionary <string, string>(); foreach (var externalAccountType in externalAccountTypes) { var input = Console.GetString($"{externalAccountType.Label} (Optional):"); if (!string.IsNullOrEmpty(input)) { externalAccountIds.Add(externalAccountType.Key, input); } } if (externalAccountIds.Count > 0) { newMember.ExternalAccountIds = externalAccountIds; } } var projectMember = _projectMemberService.CreateProjectMember(project.Id, newMember).Result; var addedMember = new MemberViewModel { UserId = projectMember.UserId, Username = projectMember.Username, Role = projectMember.ProjectMemberRoleName }; message = addedMember.ToCliString($"User has been added to project {Project}:"); Logger.LogInformation(message); } else { message = $"Project {Project} was not found"; } return(message); }