public async Task CreateProjectUser_CallWithMockedIProjectUser_ReturnOkObjectResult() { // Arrange var mock = new Mock <IProjectUser>(); var id = Guid.Empty; var userId = Guid.NewGuid(); var projectId = Guid.NewGuid(); var projectUser = new ProjectUserDto() { Id = id, ProjectId = projectId, UserId = userId, Username = "******", IsOwner = true }; mock.Setup(pu => pu.CreateProjectUserAsync(projectUser)).ReturnsAsync(projectUser); var controller = new ProjectUsersController(mock.Object); // Act var result = await controller.CreateProjectUser(projectUser); var response = (OkObjectResult)result; // Assert Assert.IsType <OkObjectResult>(result); Assert.IsType <ResponseDto <ProjectUserDto> >(response.Value); }
public async Task CreateProjectUser_CallWithMockedIProjectUser_CatchesAndThrowsProjectUserException() { // Arrange var mock = new Mock <IProjectUser>(); var id = Guid.Empty; var userId = Guid.NewGuid(); var projectId = Guid.NewGuid(); var projectUser = new ProjectUserDto() { Id = id, ProjectId = projectId, UserId = userId, Username = "******", IsOwner = true }; var message = "Exception Message"; var ex = new ProjectUserException(message); mock.Setup(pu => pu.CreateProjectUserAsync(projectUser)).ThrowsAsync(ex); var controller = new ProjectUsersController(mock.Object); // Act var result = await controller.CreateProjectUser(projectUser); var response = (BadRequestObjectResult)result; var objectResult = (ResponseDto <ErrorDto>)response.Value; // Assert Assert.IsType <BadRequestObjectResult>(result); Assert.IsType <ResponseDto <ErrorDto> >(response.Value); Assert.Equal(message, objectResult.Data.Message); }
private ProjectUserDto GetProjectOwner(ProjectDto projects) { List <ProjectUserDto> projectUsers = projects.ProjectUsers; ProjectUserDto projectUser = projectUsers.Find(p => p.IsOwner); return(projectUser); }
public async Task <ProjectUserDto> CreateProjectUserAsync(ProjectUserDto projectUser) { UserEntity userEntity = await _userStorage.FindAsync(u => u.Id == projectUser.UserId); if (userEntity == null) { throw new ProjectUserException(ExceptionMessage.InvalidUserId); } ProjectEntity project = await _projectStorage.FindAsync(p => p.Id == projectUser.ProjectId); ProjectUserEntity projectUserEntity = _mapper.Map <ProjectUserEntity>(projectUser); // if there are currently no members on the project, // default first member to project owner projectUserEntity.IsOwner = project.ProjectUsers.Count == 0; // Remove user if project collaborator exist await _projectCollaboratorSuggestionStorage.DeleteAllAsync(pcs => pcs.ProjectId == projectUser.ProjectId && pcs.UserId == projectUser.UserId); var createdProjectUser = await _projectUserStorage.CreateAsync(projectUserEntity); var createdProjectUserDto = _mapper.Map <ProjectUserDto>(createdProjectUser); createdProjectUserDto.Username = userEntity.Username; var projectDto = _mapper.Map <ProjectDto>(project); var notificationDto = new NotificationDto(createdProjectUserDto.UserId) { NotificationObject = projectDto }; await _notifier.SendYouJoinedProjectNotificationAsync(notificationDto); return(createdProjectUserDto); }
private void button1_Click(object sender, EventArgs e) { try { if (!ListDataGridViewSource.Any(s => s.UserName == comboBox1.Text)) { var pu = new ProjectUserDto { ProjectId = ManagerProject.ProjectId, Type = comboBox2.Text, UserName = comboBox1.Text, UserId = ListCombobox1Source.Where(s => s.UserName == comboBox1.Text).Select(s => s.Id).FirstOrDefault() }; ListDataGridViewSource.Add(pu); foreach (var a in ListCombobox1Source.ToList()) { if (a.Id == pu.UserId) { ListCombobox1Source.Remove(a); break; } } LoadData(); loadcombobox(); } else { MessageBox.Show($"Nhân viên {comboBox1.Text} đã có trong dự án"); } } catch (Exception ex) { MessageBox.Show($"{ex}"); } }
private void button2_Click(object sender, EventArgs e) { //var ab = TimeSheetModel.User.Where(s => s.Name == comboBox1.Text).Select(s => new { UserId=s.Id,Name= s.Name }).ToList(); if (!String.IsNullOrEmpty(ListCombobox1Source.Select(s => s.Name).FirstOrDefault())) { var pu = new ProjectUserDto { ProjectId = AddNewProject.ProjectID, Type = comboBox2.Text, UserName = comboBox1.Text, UserId = ListCombobox1Source.Where(s => s.UserName == comboBox1.Text).Select(s => s.Id).FirstOrDefault() }; ListDataGridViewSource.Add(pu); foreach (var a in ListCombobox1Source.ToList()) { if (a.Id == pu.UserId) { ListCombobox1Source.Remove(a); break; } } } else { MessageBox.Show("Da het thanh vien de tham gia du an"); } LoadData(); }
private ProjectUserDto ConvertToProjectUserDto(ProjectUser projectUser) { var projectUserDto = new ProjectUserDto { ProjectId = projectUser.ProjectId, UserId = projectUser.UserId }; return(projectUserDto); }
public async Task <bool> RemoveUserToProjectAsync(int id, int userId) { GetClient(); ProjectUserDto userProject = null; HttpResponseMessage response = await client.DeleteAsync($"api/Projects/{id}/users?userId={userId}"); if (response.IsSuccessStatusCode) { userProject = await response.Content.ReadAsAsync <ProjectUserDto>(); return(true); } return(false); }
public async Task <IActionResult> CreateProjectUser([FromBody] ProjectUserDto project) { ResponseDto <ProjectUserDto> okResponse = new ResponseDto <ProjectUserDto>(true); ResponseDto <ErrorDto> errorResponse = new ResponseDto <ErrorDto>(false); try { okResponse.Data = await _projectUser.CreateProjectUserAsync(project); } catch (ProjectUserException e) { errorResponse.Data = new ErrorDto(e.Message); return(BadRequest(errorResponse)); } return(Ok(okResponse)); }