public async Task <IActionResult> Index() { var allUsers = _userManager.Users.ToList(); UsersAndRolesViewModel UserAndRoleViewModel = new UsersAndRolesViewModel(); List <AccountViewModel> AllUsersAndRoles = new List <AccountViewModel>(); foreach (var usr in allUsers) { var roles = await _userManager.GetRolesAsync(usr); AccountViewModel model = new AccountViewModel(); if (roles[0] != Constants.HeadAdmin) { model.UserId = usr.Id; model.Email = usr.Email; model.UserName = usr.UserName; model.Roles = roles; //var model = new AccountViewModel //{ // UserId = usr.Id, // Email = usr.Email, // UserName = usr.UserName, // Roles = await _userManager.GetRolesAsync(usr) //}; AllUsersAndRoles.Add(model); } } UserAndRoleViewModel.UserAndRole = AllUsersAndRoles; return(View(UserAndRoleViewModel)); }
public ActionResult UsersAndRoles() { if (!ModelState.IsValid) { return(View()); } // List of Users, in that list of Users each contain a list of objects with role names and selected or not. // Literal List-ception... // Get the list of Users, Convert to view Model. // ==BaseViewModel== // List- Users // UserId // UserDisplayName // List- RolesTheyAreIn // RoleID // Selected // List- Roles // RoleID // RoleDisplayname var UserRoles = new UsersAndRolesViewModel() { Roles = RoleManager.Roles.ToList(), UserModels = UserManager.Users.Select(p => new RoleEditorViewModel() { Id = p.Id, DisplayName = p.DisplayName, RolesUserIsIn = p.Roles.Select(prop => new UsersAssignedRolesViewModel() { RoleId = prop.RoleId, Selected = true }).ToList() }).ToList() }; return(View(UserRoles)); }