public MemberCommandTests(ITestOutputHelper output) { _output = output; var projects = new List <ProjectDto> { new ProjectDto { Id = 1, Name = "Project 1" } }; var projectMembers = new List <ProjectMemberDto> { new ProjectMemberDto { Id = 1, UserId = 1, ProjectId = 1, ProjectMemberRoleId = 1 } }; var users = new List <UserDto> { new UserDto { Id = "1", UserName = "******", Email = "*****@*****.**" } }; _console = new TestConsole(output); _projectService = new Mock <IProjectService>(); _projectService.Setup(p => p.GetProjectByName(It.IsAny <string>())).ReturnsAsync((string name) => projects.FirstOrDefault(p => p.Name == name)); _projectMemberService = new Mock <IProjectMemberService>(); _projectMemberService.Setup(p => p.CreateProjectMember(It.IsAny <int>(), It.IsAny <NewProjectMemberDto>())).ReturnsAsync((int projectId, NewProjectMemberDto dto) => { var newProjectMember = new ProjectMemberDto { Id = 2, ProjectId = projectId, UserId = dto.UserId, ProjectMemberRoleId = dto.ProjectMemberRoleId }; projectMembers.Add(newProjectMember); return(newProjectMember); }); _projectMemberService.Setup(p => p.GetProjectMembers(It.IsAny <int>(), It.IsAny <int>())).ReturnsAsync(projectMembers); _projectMemberService.Setup(p => p.GetProjectMemberByUserId(It.IsAny <int>(), It.IsAny <int>())).ReturnsAsync((int projectId, int userId) => projectMembers.FirstOrDefault(p => p.ProjectId == projectId && p.UserId == userId)); _accountService = new Mock <IAccountService>(); _accountService.Setup(s => s.GetUserByUserName(It.IsAny <string>())).ReturnsAsync((string userName) => users.FirstOrDefault(u => u.UserName == userName)); }
private ProjectMemberDto MakeProjectMemberDto(User u, AppUserRole role) { ProjectMemberDto dto = _mapper.Map <User, ProjectMemberDto>(u); dto.Role = _mapper.Map <AppUserRole, AppUserRoleDto>(role); return(dto); }
public async Task AddMember(ProjectMemberDto dto) { Project project = await m_projectRepository.GetSingle(dto.ProjectId); ProjectMember member = m_mapper.Map <ProjectMember>(dto); project.Team.Add(member); await m_projectRepository.Update(project); }
public void AddMemberAsync_CallsAddMemberAsync() { var member = new ProjectMemberDto() { Role = new AppUserRoleDto { Id = 1 } }; var res = _memberController.AddMemberAsync(It.IsAny <int>(), member).Result; _blMock.Verify(b => b.AddMemberAsync(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <string>(), member.Role)); }
public ProjectTaskDto(ProjectTaskRecord record, UserRecord assignedTo) { Id = record.Id; ProjectId = record.ProjectId; Label = record.Label; Description = record.Description; Completed = record.Completed; AssignedTo = new ProjectMemberDto { DisplayName = assignedTo.DisplayName, Email = assignedTo.Email }; }
public async Task <int> UpdateProjectMemberAsync(ProjectMemberDto dto) { var sql = " UPDATE [dbo].[Member] " + " SET [EmpId] = @EmpId " + " ,[ProjectPositionId] = @ProjectPositionId " + " WHERE Member.Id = @Id"; var x = await Connection.ExecuteAsync(sql, new { Id = dto.Id, EmpId = dto.EmpId, ProjectPositionId = dto.ProjectPositionId, }, Transaction); return(x); }
public async Task <int> InsertProjectMemberAsync(ProjectMemberDto dto) { var sql = " INSERT INTO [dbo].[Member] " + " ([ProjectId] " + " ,[EmpId] " + " ,[ProjectPositionId]) " + " VALUES " + " (@ProjectId " + " ,@EmpId" + " ,@ProjectPositionId )"; int count = await Connection.ExecuteAsync(sql, new { ProjectId = dto.ProjectId, EmpId = dto.EmpId, ProjectPositionId = dto.ProjectPositionId }, Transaction); return(count); }
public async Task <ProjectMemberDto> GetMemberOfProjectAsync(string senderUserId, int projectId, string userId) { AppUserRole senderRole = await GetRoleIfMember(senderUserId, projectId); if (!senderRole.CanViewListOfMembers()) { throw new ForbiddenResponseException("You cannot get list of members of this project"); } AppUserRole role = await _puRepo.GetRoleOfMember(userId, projectId); if (!role.IsNone()) { User u = await _userRepo.GetByIdAsync(userId); ProjectMemberDto dto = MakeProjectMemberDto(u, role); return(dto); } else { throw new NotFoundResponseException($"No member with id {userId} in project with id {projectId}"); } }
public async Task <IEnumerable <ProjectMemberDto> > GetAllMembersOfProjectAsync(string senderUserId, int projectId) { AppUserRole senderRole = await GetRoleIfMember(senderUserId, projectId); if (!senderRole.CanViewListOfMembers()) { throw new ForbiddenResponseException("You cannot get members of this project"); } var members = await _puRepo.GetMembersOfProject(projectId); var res = new List <ProjectMemberDto>(); foreach (User u in members) { AppUserRole role = await _puRepo.GetRoleOfMember(u.Id, projectId); ProjectMemberDto dto = MakeProjectMemberDto(u, role); res.Add(dto); } return(res); }