
package de.ivu.elect.business.wahl.boundary;

import java.io.Serializable;
import java.util.List;

import javax.annotation.Nullable;
import javax.inject.Inject;

import de.ivu.elect.business.gebietsbaum.entity.Gebiet;
import de.ivu.elect.business.wahl.control.Wahldaten;
import de.ivu.elect.business.wahl.entity.Wahl;
import de.ivu.elect.business.wahl.entity.WahlImportContext;
import de.ivu.elect.business.wahl.entity.Wahlart;

public class NlWahlImportHelper implements Serializable {

  private static final long serialVersionUID = 1L;

  @Inject
  private transient WahlartDAO wahlartDAO;

  public NlWahlImportHelper() {
    super();
  }

  @Nullable
  public Wahlart findeWahlartInDb(Wahlart wahlart, WahlImportContext context) {
    return wahlartDAO.findByName(context.getMandant(), wahlart.getName());
  }

  public void updateWahlBeforePersist(WahlImportContext context, Wahl wahl) {
    wahl.setWahlart(findeWahlartInDb(wahl.getWahlart(), context));
  }

  public void postCreateGebiete(List<Gebiet> gebiete) {
    // nichts zu tun
  }

  public List<Gebiet> filterZuImportierendeGebiete(Wahldaten<Wahl, Gebiet> wahldaten, Wahlart wahlartInDb) {
    return wahldaten.getGebiete();
  }
}
