public async Task <IActionResult> Index() { USER user = await _userRepository.GetUserByContext(HttpContext.User); UserTeamsRolesViewModel model = _teamService.GetUserTeams(user); return(View(model)); }
public UserTeamsRolesViewModel GetUserTeams(USER user) { if (user == null) { throw new ArgumentNullException("user"); } IEnumerable <TEAM> teams = _teamRepository.GetTeamsByUser(user); UserTeamsRolesViewModel userTeamsRoles = new UserTeamsRolesViewModel(); userTeamsRoles.UserId = user.Id; userTeamsRoles.UserName = user.UserName; if (teams != null) { userTeamsRoles.UserTeams = new List <UserTeamViewModel>(); foreach (TEAM team in teams) { UserTeamViewModel userTeam = new UserTeamViewModel(); userTeam.TeamId = team.ID; userTeam.TeamName = team.NAME; List <RoleViewModel> rolesViewModel = new List <RoleViewModel>(); var roles = _roleRepository.GetRolesByUserTeam(user, team); foreach (var role in roles) { RoleViewModel roleViewModel = new RoleViewModel(); roleViewModel.RoleId = role.ID; roleViewModel.RoleName = role.NAME; roleViewModel.RoleDescription = role.DESCRIPTION; rolesViewModel.Add(roleViewModel); } userTeam.UserTeamRoles = rolesViewModel; userTeamsRoles.UserTeams.Add(userTeam); } } return(userTeamsRoles); }