Ejemplo n.º 1
0
        public async Task <IActionResult> UpdateUserRole(UserRolesModificationModel userVM)
        {
            if (ModelState.IsValid)
            {
                await userRolesService.UpdateUserRoles(userVM);

                return(RedirectToAction(nameof(Index)));
            }

            return(RedirectToAction(nameof(Index)));
        }
Ejemplo n.º 2
0
        public async Task UpdateUserRoles(UserRolesModificationModel userVM)
        {
            var appUser = await userManager.FindByIdAsync(userVM.UserId);

            var roles = await userManager.GetRolesAsync(appUser);

            if (roles != null && roles.Count > 0)
            {
                await userManager.RemoveFromRolesAsync(appUser, roles);
            }

            foreach (var roleId in userVM.SelectedRoleIds)
            {
                var roleName = (await roleManager.FindByIdAsync(roleId)).Name;
                await userManager.AddToRoleAsync(appUser, roleName);
            }
        }
Ejemplo n.º 3
0
        public async Task <ICollection <UserRolesModificationModel> > GetUsers()
        {
            var roles = roleManager.Roles.ToList();

            List <UserRolesModificationModel> usersVM = new List <UserRolesModificationModel>();

            foreach (var user in userManager.Users)
            {
                UserRolesModificationModel userVM = new UserRolesModificationModel
                {
                    UserId    = user.Id,
                    FirstName = user.FirstName,
                    LastName  = user.LastName,
                    Email     = user.Email,
                    Roles     = new List <SelectListItem>()
                };

                foreach (var role in roles)
                {
                    if (await userManager.IsInRoleAsync(user, role.Name))
                    {
                        userVM.Roles.Add(new SelectListItem
                        {
                            Value    = role.Id,
                            Text     = role.Name,
                            Selected = true
                        });
                    }
                    else
                    {
                        userVM.Roles.Add(new SelectListItem
                        {
                            Value = role.Id,
                            Text  = role.Name,
                        });
                    }
                }

                usersVM.Add(userVM);
            }
            return(usersVM);
        }