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);
        }