
package de.ivu.elect.presentation.wahlbeteiligung.form;

import java.util.Date;

import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;

import de.ivu.elect.business.wahl.boundary.WahlSessionSelect;
import de.ivu.elect.business.wahlbeteiligung.boundary.WahlbeteiligungAuswertungExtendedDAO;
import de.ivu.elect.business.wahlbeteiligung.entity.WahlbeteiligungAuswertung;
import de.ivu.elect.business.wahlbeteiligung.entity.WahlbeteiligungAuswertungPK;
import de.ivu.elect.business.wahlbeteiligung.entity.WahlbeteiligungAuswertungUK;
import de.ivu.elect.jee.entity.DAO;
import de.ivu.elect.jee.faces.AbstractEntityUniqueUKFacesValidator;

@RequestScoped
public class WahlbeteiligungAuswertungUniqueUKFacesValidator
    extends
      AbstractEntityUniqueUKFacesValidator<WahlbeteiligungAuswertung, WahlbeteiligungAuswertungPK, WahlbeteiligungAuswertungUK> {

  private static final long serialVersionUID = 1L;

  @Inject
  private transient WahlbeteiligungAuswertungExtendedDAO dao;

  @Inject
  private transient WahlSessionSelect wahlSessionSelect;

  @Override
  protected WahlbeteiligungAuswertungUK createUK(Object value) {
    return new WahlbeteiligungAuswertungUK((Date) value, wahlSessionSelect.getEntity().getUk());
  }

  @Override
  protected DAO<WahlbeteiligungAuswertung, WahlbeteiligungAuswertungPK, WahlbeteiligungAuswertungUK> getDao() {
    return dao;
  }
}
