Ejemplo n.º 1
0
        public async Task <IActionResult> Manage(string UserId)
        {
            var user = await userManagerService.FindByIdAsync(UserId);

            var userRoles = await userManagerService.GetRolesAsync(user);

            var model = new List <UserRolesViewModel>();
            var userRolesProperties = new UserRolesProperitiesViewModel();

            foreach (var role in roleManagerService.Roles)
            {
                var userRolesViewModel = new UserRolesViewModel
                {
                    RoleId   = role.Id,
                    RoleName = role.Name,
                    UserId   = UserId
                };

                bool hasRole = false;
                foreach (var userRole in userRoles)
                {
                    if (userRole == role.Name)
                    {
                        hasRole = true;
                    }
                    userRolesViewModel.IsSelected = hasRole;
                }

                model.Add(userRolesViewModel);
            }

            userRolesProperties.UserRoles       = model.OrderBy(x => x.RoleName).ToList();
            userRolesProperties.ApplicationUser = user;
            return(View(userRolesProperties));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Manage(UserRolesProperitiesViewModel Model)
        {
            var userId = Model.UserRoles.Select(x => x.UserId).FirstOrDefault();
            var user   = await userManagerService.FindByIdAsync(userId);

            var roles = await userManagerService.GetRolesAsync(user);

            var result = await userManagerService.RemoveFromRolesAsync(user, roles);

            result = await userManagerService.AddToRolesAsync(user, Model.UserRoles.Where(x => x.IsSelected == true).Select(x => x.RoleName));

            return(RedirectToAction("Manage", "User"));
        }