Example #1
0
        public async Task <IActionResult> ManageUser(AppUserCreateManageViewModel viewModel)
        {
            if (viewModel.UserName == null)
            {
                return(NotFound());
            }
            var appUser = await _userManager.FindByNameAsync(viewModel.UserName);

            if (appUser == null)
            {
                return(NotFound());
            }

            await _userManager.RemoveFromRolesAsync(appUser, AppRoles.AllRoles);

            if (!viewModel.SelectedRoles.IsEmptyOrNull())
            {
                var rolesAddResult = await _userManager.AddToRolesAsync(appUser, viewModel.SelectedRoles);

                if (rolesAddResult.Succeeded)
                {
                    return(RedirectToAction(nameof(Index)));
                }
            }

            return(RedirectToAction(nameof(Index)));
        }
Example #2
0
        // GET: Admin/Users/Create
        public async Task <IActionResult> Create()
        {
            var viewModel = new AppUserCreateManageViewModel
            {
                UserName = "",
                Password = "",
                Roles    = await GetRolesSelectListAsync()
            };

            return(View(viewModel));
        }
Example #3
0
        public async Task <IActionResult> Create(AppUserCreateManageViewModel createViewModel)
        {
            if (!await IsUserNameValidAsync(createViewModel.UserName))
            {
                ModelState.AddModelError("", "This username is already in use!");
            }
            if (!await IsEmailValidAsync(createViewModel.Email))
            {
                ModelState.AddModelError("", "This email is already in use!");
            }

            if (ModelState.IsValid)
            {
                var user = new AppUser
                {
                    UserName = createViewModel.UserName,
                    Email    = createViewModel.Email
                };
                var userAddResult = await _userManager.CreateAsync(user, createViewModel.Password);

                if (userAddResult == IdentityResult.Success)
                {
                    var userInUserManager = await _userManager.FindByEmailAsync(user.Email);

                    var rolesAddResult =
                        await _userManager.AddToRolesAsync(userInUserManager, createViewModel.SelectedRoles);

                    if (rolesAddResult.Succeeded && userAddResult.Succeeded)
                    {
                        return(RedirectToAction(nameof(Index)));
                    }
                }
                else
                {
                    ModelState.AddModelError("", "User creation failed");
                }
            }

            createViewModel.Roles = await GetRolesSelectListAsync();

            return(View(createViewModel));
        }
Example #4
0
        public async Task <IActionResult> ManageUser(string?userName)
        {
            if (userName == null)
            {
                return(NotFound());
            }

            var appUser = await _userManager.FindByNameAsync(userName);

            if (appUser == null)
            {
                return(NotFound());
            }

            var viewModel = new AppUserCreateManageViewModel
            {
                Email         = appUser.Email,
                UserName      = appUser.UserName,
                SelectedRoles = await _userManager.GetRolesAsync(appUser),
                Roles         = await GetRolesSelectListAsync()
            };

            return(View(viewModel));
        }