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

import java.util.Date;

import javax.inject.Inject;

import de.ivu.elect.business.statistik.entity.StatistikLauf;
import de.ivu.elect.business.statistik.entity.StatistikLaufStatus;
import de.ivu.elect.business.wahl.boundary.WahlDAO;
import de.ivu.elect.business.wahl.boundary.WahlterminDAO;
import de.ivu.elect.jee.background.NotifyOnSuccess;

/**
 *  on 30.01.2017.
 */
public class StatistikLaufCreate extends AbstractStatistikLaufCreate {

  @Inject
  WahlDAO wahlDAO;

  @Inject
  WahlterminDAO wahlterminDAO;

  @Override
  @NotifyOnSuccess(StatistikLaufEvent.class)
  public void save(StatistikLauf entity) {
    entity.setZeitpunktDesLaufs(new Date());
    entity.setStatus(StatistikLaufStatus.ZU_BERECHNEN);
    entity.setWahl(wahlDAO.attach(entity.getWahl()));
    entity.setWahltermin(wahlterminDAO.attach(entity.getWahltermin()));
    super.save(entity);
  }
}
