Exemplo n.º 1
0
  @Override
  @Transactional(readOnly = false)
  public void register(@NotNull PlayerRegistrationData registrationData) {
    final Account emailAccount = accountBO.getByEmail(registrationData.getEmail());

    if (emailAccount != null) {
      throw new NotUniqueEmailException("Not unique email!");
    }

    final Player player = new Player();
    player.setStatus(Player.Status.REGISTRATION);
    player.setBirth(registrationData.getBirth());
    player.setGender(registrationData.getGender());
    player.setName(registrationData.getName());

    insert(player);

    // create account
    final PlayerAccount account = createAccount(registrationData, player);

    // create authorities
    authorityDAO.create(account, Authority.Name.ROLE_PLAYER_USER);

    notifyOfRegistration(registrationData);
  }