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

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

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

@Stateless
@Specializes
public class WasWahlbeteiligungVerlaufEdit extends WahlbeteiligungVerlaufEdit {

  @Inject
  private transient ReplikationErzeugen replikationErzeugen;

  @Override
  public void save(WahlbeteiligungVerlauf entity) {
    super.save(entity);

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

    if (replikationErzeugen.isReplikationNotwendig()) {
      replikationErzeugen.replikationWahlbeteiligungVerlauf(entityInDb);
    }

  }


  @Override
  public void delete(WahlbeteiligungVerlauf entity) {

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

    super.delete(entity);
  }
}
