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

import java.util.Arrays;
import java.util.List;

import javax.inject.Inject;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import de.ivu.elect.business.niederschrift.boundary.NiederschriftKorrekturDAO;
import de.ivu.elect.business.niederschrift.boundary.NiederschriftStatusAenderungDAO;
import de.ivu.elect.business.wahl.control.WahlResetCustomAction;
import de.ivu.elect.business.wahl.entity.Wahl;
import de.ivu.elect.business.wahl.entity.WahlResetStatusEntry;

public class NiederschriftDeleteWahlResetAction implements WahlResetCustomAction {

  private static final Logger LOG = LoggerFactory.getLogger(NiederschriftDeleteWahlResetAction.class);


  @Inject
  private transient NiederschriftKorrekturDAO niederschriftKorrekturDAO;

  @Inject
  private transient NiederschriftStatusAenderungDAO niederschriftStatusAenderungDAO;

  @Override
  public List<WahlResetStatusEntry> reset(Wahl wahl) {
    Integer deleteCountKorrektur = niederschriftKorrekturDAO.deleteDeleteByWahl(wahl);
    Integer deleteCountStatus = niederschriftStatusAenderungDAO.deleteDeleteByWahl(wahl);
    return Arrays.asList(
        new WahlResetStatusEntry("wahl.reset.niederschrift.korrektur.delete", deleteCountKorrektur),
        new WahlResetStatusEntry("wahl.reset.niederschrift.status.delete", deleteCountStatus));
  }
}

