public User Authenticate(string email, string password) { User user = GetByEmail(email); AssertionConcern.AssertArgumentNotNull(user, ErrorMessages.UserNotFound); PasswordAssertionConcern.AssertIsValid(password); PasswordAssertionConcern.AssertPasswordIsSame(user.Password, password); return(user); }