public async Task <IActionResult> Index()
        {
            var user = await _userManager.GetUserAsync(User).ConfigureAwait(false);

            UserAdminAccountDeleteViewModel userAdminAccountDeleteViewModel = new UserAdminAccountDeleteViewModel
            {
                UserId   = user.Id,
                Password = string.Empty,
            };

            return(View("Index", userAdminAccountDeleteViewModel));
        }
        public async Task <IActionResult> Delete(UserAdminAccountDeleteViewModel userAdminAccountDeleteViewModel)
        {
            string userId   = userAdminAccountDeleteViewModel.UserId;
            string password = userAdminAccountDeleteViewModel.Password;

            if (!ModelState.IsValid)
            {
                return(UpadateError(userAdminAccountDeleteViewModel, DeleteNgMessage));
            }

            if (userId == null)
            {
                return(UpadateError(userAdminAccountDeleteViewModel, DeleteNgMessage));
            }

            var user = await _userManager.GetUserAsync(User).ConfigureAwait(false);

            if (user == null)
            {
                return(UpadateError(userAdminAccountDeleteViewModel, DeleteNgMessage));
            }

            bool retPassCheck = await _userManager.CheckPasswordAsync(user, password).ConfigureAwait(false);

            if (!retPassCheck)
            {
                return(UpadateError(userAdminAccountDeleteViewModel, DeleteNgMessage));
            }

            var retDelete = await _userManager.DeleteAsync(user).ConfigureAwait(false);

            if (!retDelete.Succeeded)
            {
                return(UpadateError(userAdminAccountDeleteViewModel, DeleteNgMessage));
            }

            await _signInManager.SignOutAsync().ConfigureAwait(false);

            return(RedirectToAction("Index", "Auth"));
        }
        private IActionResult UpadateError(UserAdminAccountDeleteViewModel userAdminAccountDeleteViewModel, string message)
        {
            userAdminAccountDeleteViewModel.Notification = message;

            return(View("Index", userAdminAccountDeleteViewModel));
        }