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

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

import de.ivu.elect.business.replikation.boundary.ReplikationErzeugen;
import de.ivu.elect.business.wahlbeteiligung.entity.WahlbeteiligungAuswertung;

@Stateless
public class WahlbeteiligungAuswertungEdit extends AbstractWahlbeteiligungAuswertungEdit {

  @Inject
  private transient ReplikationErzeugen replikationErzeugen;

  @Override
  public void save(WahlbeteiligungAuswertung entity) {

    WahlbeteiligungAuswertung entityInDb = dao.findByPrimaryKey(entity.getPk());

    if (replikationErzeugen.isReplikationNotwendig()) {
      replikationErzeugen.replikationWahlbeteiligungAuswertungUpdate(entityInDb.getUk(), entity);
    }

    entityInDb.setDatum(entity.getDatum());
    entityInDb.setStatus(entity.getStatus());
    entityInDb.setTyp(entity.getTyp());
    entityInDb.setBemerkung(entity.getBemerkung());
  }

  @Override
  public void delete(WahlbeteiligungAuswertung entity) {

    if (replikationErzeugen.isReplikationNotwendig()) {
      replikationErzeugen.replikationWahlbeteiligungAuswertungLoeschen(entity);
    }

    super.delete(entity);
  }
}
