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

import java.io.Serializable;

import javax.ejb.Stateless;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;
import javax.inject.Inject;

import de.ivu.elect.business.protokollierung.boundary.LoeschProtokollDAO;
import de.ivu.elect.business.protokollierung.entity.LoeschProtokoll;
import de.ivu.elect.business.wahl.boundary.WahlDAO;
import de.ivu.elect.business.wahl.boundary.WahlterminDAO;

@Stateless
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
public class LoeschProtokollSchreiben implements Serializable {
  private static final long serialVersionUID = 1L;

  @Inject
  private transient WahlterminDAO wahlterminDAO;

  @Inject
  private transient WahlDAO wahlDAO;

  @Inject
  private transient LoeschProtokollDAO loeschProtokollDAO;

  public void schreibe(LoeschProtokoll loeschProtokoll) {
    if (loeschProtokoll == null) {
      return;
    }
    loeschProtokoll.setWahltermin(wahlterminDAO.attach(loeschProtokoll.getWahltermin()));
    loeschProtokoll.setWahl(wahlDAO.attach(loeschProtokoll.getWahl()));
    loeschProtokollDAO.persist(loeschProtokoll);

  }
}
