
package de.ivu.elect.business.wahlausschuss.control;

import javax.inject.Inject;

import de.ivu.elect.business.gebietsbaum.boundary.GebietDAO;
import de.ivu.elect.business.gruppe.boundary.PolitischeGruppeDAO;
import de.ivu.elect.business.personenpruefung.boundary.PersonenPruefungStarter;
import de.ivu.elect.business.wahl.boundary.WahlDAO;
import de.ivu.elect.business.wahlausschuss.boundary.WahlausschussmitgliedDAO;
import de.ivu.elect.business.wahlausschuss.entity.Wahlausschussmitglied;

public class WahlausschussmitgliedCreate extends AbstractWahlausschussmitgliedCreate {

  @Inject
  private WahlDAO wahlDao;

  @Inject
  private GebietDAO gebietDao;

  @Inject
  private PolitischeGruppeDAO politischeGruppeDao;

  @Inject
  private WahlausschussmitgliedDAO wahlausschussmitgliedDao;

  @Inject
  private PersonenPruefungStarter personenPruefungStarter;

  public WahlausschussmitgliedCreate() {
    super();
  }

  @Override
  public void save(Wahlausschussmitglied wahlausschussmitglied) {
    wahlausschussmitglied.setWahl(wahlDao.attach(wahlausschussmitglied.getWahl()));
    wahlausschussmitglied.setGebiet(gebietDao.attach(wahlausschussmitglied.getGebiet()));
    wahlausschussmitglied.setPolitischeGruppe(politischeGruppeDao.attach(wahlausschussmitglied.getPolitischeGruppe()));
    wahlausschussmitglied.setVertreter(wahlausschussmitgliedDao.attach(wahlausschussmitglied.getVertreter()));

    super.save(wahlausschussmitglied);

    personenPruefungStarter.startePersonenPruefung();
  }
}
