public async Task <IActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = _userStore.Queryable.SingleOrDefault(p => p.Name == model.UserName);
                if (user.IsNotNull())
                {
                    ModelState.AddModelError(string.Empty, "用户已存在");
                    return(View(model));
                }

                user = new User
                {
                    Name         = model.UserName,
                    PasswordHash = _passwordHash.ComputeHash(model.Password),
                    Gender       = model.IsMale ? UserGender.Male : UserGender.Female,
                };

                _userStore.Add(user);
                await _userStore.Accessor.SaveChangesAsync();

                return(RedirectToAction(nameof(Login)));
            }

            return(View(model));
        }