Ejemplo n.º 1
0
        public async Task <IActionResult> SetRoles(SetRolesViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var user = await _userManager.FindByIdAsync(model.UserID);

            if (user == null)
            {
                throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'.");
            }


            var oldRoles = await _userManager.GetRolesAsync(user);

            foreach (var oldRole in oldRoles)
            {
                await _userManager.RemoveFromRoleAsync(user, oldRole);
            }


            await _userManager.AddToRoleAsync(user, model.Role);


            StatusMessage = "User's Role has been changed.";


            return(RedirectToAction(nameof(SetRoles)));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> SetRoles()
        {
            List <SelectListItem> UList = new List <SelectListItem>();

            List <SelectListItem> RList = new List <SelectListItem>();

            var user = await _userManager.GetUserAsync(User);

            if (user == null)
            {
                throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'.");
            }

            var UserList = _context.Users.ToList();

            foreach (var UserItem in UserList)
            {
                var NewItem = new SelectListItem();

                NewItem.Value = UserItem.Id;
                NewItem.Text  = UserItem.UserName;

                UList.Add(NewItem);
            }


            var RolesList = _context.Roles.ToList();

            foreach (var RoleItem in RolesList)
            {
                var NewItem = new SelectListItem();

                NewItem.Value = RoleItem.Name;
                NewItem.Text  = RoleItem.Name;

                RList.Add(NewItem);
            }


            ViewBag.RList = RList;
            ViewBag.UList = UList;

            var model = new SetRolesViewModel {
                StatusMessage = StatusMessage
            };


            return(View(model));
        }