コード例 #1
0
ファイル: AccountController.cs プロジェクト: 3meng/DbBasicApp
        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);
        }
コード例 #2
0
ファイル: AccountService.cs プロジェクト: 3meng/DbBasicApp
        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);
        }