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"));
        }
        public IActionResult Login(LoginViewModel model)
        {
            var passwordHash = Password.CalculateHash(model.Password);

            var user = _dataContext.Users.FirstOrDefault(u => u.PasswordHash == passwordHash && u.Login == model.Login);

            if (user == null)
            {
                ModelState.AddModelError(nameof(model.Password), "Неверный логин или пароль");

                return(View(model));
            }

            _authenticationService.SignIn(user.Id, true);

            return(RedirectToAction("Index", "Home"));
        }