Пример #1
0
        private Result LoginUser(LoginInput input)
        {
            if (input == null)
            {
                throw new ArgumentNullException(nameof(input));
            }
            var result = new Result();

            var query = context.Authors.Where(a => a.Username == input.Username);

            var author = query.SingleOrDefault();

            if (author == null)
            {
                result.Success = false;
                result.ValidationMessages.Add("Invalid username or password.");
                return(result);
            }

            if (BCrypt.Net.BCrypt.Verify(input.Password, author.PasswordHash))
            {
                result.Success = true;
                CurrentAuthor  = author;
                result.ValidationMessages.Add($"Welcome {author.Alias}!");
                return(result);
            }
            result.Success = false;
            result.ValidationMessages.Add("Invalid username or password.");
            return(result);
        }
Пример #2
0
        public void Display()
        {
            var input = new LoginInput()
            {
                Username = GetUsername(),
                Password = GetPassword()
            };

            var result = LoginValidationMethod(input);

            foreach (var message in result.ValidationMessages)
            {
                Console.WriteLine(message);
            }
            WaitForKeyPress();
            if (result.Success)
            {
                LoginSuccessCallback();
            }
            else
            {
                LoginFailCallback();
            }
        }