public static Account CreateAccount(string username, string email, string firstName, string lastName, DateTime birthDate, AccountRole role, string password, string confirmPassword, string confirmEmail)
        {
            var person = new Person(firstName, lastName, birthDate);
            var account = new Account(username, email, person, role);
            if (email != confirmEmail)
            {
                throw new Exception("Email and confirmationEmail do not match");
            }
            if (password != confirmPassword)
            {
                throw new Exception("Password and confirmPassword do not match");
            }

            account.SetPassword(password);

            return account;
        }
 public EditChangeHistoryRecord(ChangeState changeState, Account.Account changedBy)
 {
     ChangeState = changeState;
     ChangedBy = changedBy;
     ChangedAt = DateTime.Now;
 }