public IActionResult Register(LoginViewModel model)
        {
            var user = _dataContext.Users.FirstOrDefault(u => u.Login == model.Login);

            if (user != null)
            {
                ModelState.AddModelError(nameof(model.Login), "Логин уже существует");

                return(View(model));
            }

            if (model.Password.Length < 4)
            {
                ModelState.AddModelError(nameof(model.Password), "Пароль должен быть не менее 4 символов");

                return(View(model));
            }

            var passwordHash = Password.CalculateHash(model.Password);

            user = new User
            {
                Login        = model.Login,
                PasswordHash = passwordHash
            };
            _dataContext.Users.Add(user);
            _dataContext.SaveChanges();

            _authenticationService.SignIn(user.Id, true);

            return(RedirectToAction("Index", "Home"));
        }
Ejemplo n.º 2
0
 public async Task SignIn_NullCustomer_ThrowException()
 {
     await Assert.ThrowsExceptionAsync <ArgumentNullException>(async() => await _cookieAuthService.SignIn(null, false));
 }