public async Task <IActionResult> GetAllProjects() { /* using this code var projectManagers = await _repo.ProjectManager.GetProjectManagers(); * helps us to get project manager in this code var projects = await _repo.Project.GetAllProjects(); * It is something to reasearch about why ef core shows this behaviour */ var projectManagers = await _repo.ProjectManager.GetProjectManagers(); var projects = await _repo.Project.GetAllProjects(); var userTickets = await _repo.UserTicket.GetUsersTickets(); foreach (var project in projects) { AddUserToProject add = new AddUserToProject(); await add.GenerateUserProject(_repo, project, userTickets); } var projectToReturn = _mapper.Map <IEnumerable <ProjectVmDto> >(projects); return(Ok(projectToReturn)); }
public async Task <IActionResult> GetProject(Guid id) { if (id == null) { _logger.LogError("Project object sent from client is null."); return(BadRequest("The project you are searching doesnot exist")); } var projectManagers = await _repo.ProjectManager.GetProjectManagers(); var project = await _repo.Project.GetProject(id); if (project == null) { _logger.LogError("Project object sent from client is null."); return(BadRequest("The project you are searching doesnot exist")); } var userTickets = await _repo.UserTicket.GetUsersTickets(); AddUserToProject add = new AddUserToProject(); await add.GenerateUserProject(_repo, project, userTickets); var projectToReturn = _mapper.Map <ProjectVmDto>(project); foreach (var user in projectToReturn.UsersProjects) { var applicationUser = await _userManager.FindByIdAsync(user.Id); var userRole = await _userManager.GetRolesAsync(applicationUser); user.ApplicationUser = new ApplicationUserVm(); user.ApplicationUser.userEmail = applicationUser.Email; user.ApplicationUser.userName = applicationUser.Name; user.ApplicationUser.userRole = userRole.ToList(); } return(Ok(projectToReturn)); }