public async Task <IActionResult> Get(string id) { var userId = User.GetUserId(); var project = await _repo.GetProject(id, userId); if (project != null) { var projectUser = await _repo.GetProjectUser(id, userId); projectUser.LastActive = DateTime.Now; if (await _repo.SaveAll()) { project.ProjectUsers = await _repo.GetProjectUsers(project.Id); var projectDetailDto = _mapper.Map <ProjectDetailDto>(project); foreach (var phase in projectDetailDto.Phases) { foreach (var issue in phase.Issues) { issue.Labels = issue.Labels.OrderBy(l => l.Name).ToList(); } } return(Ok(projectDetailDto)); } return(BadRequest(new { message = "Unable to update last active." })); } return(NotFound(new { message = "Project not found." })); }
public async Task <IActionResult> GetProjectUsers(int id, [FromQuery] UserParams userParams) { var usersFromRepo = await _repo.GetProjectUsers(id, userParams); var users = _mapper.Map <IEnumerable <UserShortDto> >(usersFromRepo); foreach (var user in users) { var userTemp = await _userManager.FindByEmailAsync(user.Email); var roles = await _userManager.GetRolesAsync(userTemp); user.Roles = roles; } return(Ok(new { users, userParams.Length })); }