public IActionResult NewUser(NewUserIndexViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }

            if (DbContext.Users.Any(dbUser => dbUser.Email == viewModel.Email))
            {
                ModelState.AddModelError("Email", "User already exist");
                return(View(viewModel));
            }

            var dbUser = new IdentityUser();

            DbContext.AddAsync(dbUser);

            dbUser.UserName        = viewModel.UserName;
            dbUser.Email           = viewModel.Email;
            dbUser.EmailConfirmed  = true;
            dbUser.NormalizedEmail = viewModel.Email.ToUpper();

            var hasher = new PasswordHasher <IdentityUser>();

            dbUser.PasswordHash = hasher.HashPassword(dbUser, viewModel.Password);

            DbContext.SaveChanges();

            return(RedirectToAction("ListRoles"));
        }
        public IActionResult NewUser()
        {
            var viewModel = new NewUserIndexViewModel();

            return(View(viewModel));
        }