예제 #1
0
        public async Task <IActionResult> Edit(string id)
        {
            var user = await _userManager.FindByIdAsync(id);

            var editUserView = new EditUserRoleView()
            {
                Id       = user.Id,
                UserName = user.UserName,
                Email    = user.Email
            };

            ViewData["Roles"] = new SelectList(_roleManager.Roles.ToList());

            return(View(editUserView));
        }
예제 #2
0
        public async Task <IActionResult> Edit(string id, EditUserRoleView user)
        {
            if (ModelState.IsValid)
            {
                // Fast exit if trying to modify user 'a' or role 'admin'
                var toBeAdded = user.RoleToBeAdded;

                if (id != user.Id)
                {
                    return(NotFound());
                }

                if (ModelState.IsValid)
                {
                    try
                    {
                        var currentUser = await _userManager.FindByIdAsync(user.Id);

                        var result = await _userManager.AddToRoleAsync(currentUser, toBeAdded);
                    }
                    catch (DbUpdateConcurrencyException)
                    {
                        if (!UserExists(user.Id))
                        {
                            return(NotFound());
                        }
                        else
                        {
                            throw;
                        }
                    }
                    return(RedirectToAction("Index"));
                }
            }

            return(View());
        }