public async Task<IActionResult> Register(RegisterViewModel model) { DbHelper.EnsureDatabaseCreated(_dbContext); if (ModelState.IsValid) { if (await _dbContext.LoginInfos.AnyAsync(l => l.UserName.Equals(model.UserName, StringComparison.OrdinalIgnoreCase))) { ModelState.AddModelError("UserName", "用户名已存在!"); return View(model); } /* if (!Regex.IsMatch(model.CardID, @"^[1-9]\d{16}[\dxX]$")) { ModelState.AddModelError("CardId", "请输入正确格式的身份证号码!"); return View(model); } */ if (await _dbContext.UserInfos.AnyAsync(u => string.Equals(u.CardID, model.CardID, StringComparison.OrdinalIgnoreCase))) { ModelState.AddModelError("CardId", "您输入的身份证号码已存在!"); return View(model); } var result = await _service.RegisterAsync(model); if (result.IsSucceeded) { await _service.SignInAsync(result.User); return RedirectToAction(nameof(AccountController.Index)); } ModelState.AddModelError(string.Empty, "注册失败!请检查您的注册信息是否正确。"); } return View(model); }
public async Task<RegisterResult> RegisterAsync(RegisterViewModel model) { bool? sex = null; if (model.Sex == 1) { sex = true; } else if (model.Sex == 2) { sex = false; } var userInfo = new UserInfo { Name = model.Name, Sex = sex, Birthday = model.Birthday, CardID = model.CardID, LastUsage = 0, CurrentUsage = 0, Balance = 0, RegisterTime = DateTime.Now, TelPackage = null }; var user = new LoginInfo { UserName = model.UserName, Password = model.Password, Level = 0, UserInfo = userInfo }; return await RegisterAsync(user); }