public User(Guid id, UserType userType, EmailAddress emailAddress, string password) { Id = id; UserType = userType; EmailAddress = emailAddress; UpdatePassword(password); }
public void Login(EmailAddress email, string password) { var user = _users.GetUserByEmail(email); if (user == null || !user.ValidatePassword(password)) throw new AuthenticationException("Invalid email address or password"); LoggedUser = user.Id; }
public void CreateUser(Guid userId, UserType userType, EmailAddress emailAddress, string password) { _provider.Begin(a => { if(_users.GetUserByEmail(emailAddress) != null) throw new DuplicateEntityException(string.Format("Duplicate email found ({0})", emailAddress.Value)); var user = new User(userId, userType, emailAddress, password); a.Save(user); }); }
public User GetUserByEmail(EmailAddress emailAddress) { return _provider.Begin(a => a.Query<User>().FirstOrDefault(b => b.EmailAddress.Value == emailAddress.Value)); }