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 }));
        }