
package de.ivu.elect.business.benutzerverwaltung.entity;

import java.io.Serializable;

import javax.ejb.Stateless;
import javax.inject.Inject;
import javax.persistence.NoResultException;

import de.ivu.elect.business.benutzerverwaltung.boundary.BenutzerEinsatzortDAO;

@Stateless
public class UniqueBenutzerEinsatzortUKValidator implements Serializable {

  private static final long serialVersionUID = 1L;

  @Inject
  private BenutzerEinsatzortDAO benutzerEinsatzortDAO;

  public UniqueBenutzerEinsatzortUKValidator() {
    super();
  }

  public boolean isUniqueBenutzerEinsatzortUK(BenutzerEinsatzort entity) {
    return isUniqueBenutzerEinsatzortUK(entity.getPk(), entity.getUk());
  }

  public boolean isUniqueBenutzerEinsatzortUK(BenutzerEinsatzortPK pk, BenutzerEinsatzortUK uk) {
    try {
      return getBenutzerEinsatzortByUK(uk).getPk().equals(pk);
    } catch (NoResultException ignored) {
      // Do nothing - be happy.
    }

    return true;
  }

  protected BenutzerEinsatzort getBenutzerEinsatzortByUK(BenutzerEinsatzortUK uk) {
    return benutzerEinsatzortDAO.findByUK(uk);
  }
}
