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

import java.io.Serializable;

import javax.enterprise.event.Event;
import javax.inject.Inject;

import de.ivu.elect.business.wahl.entity.Wahl;
import de.ivu.elect.business.wahl.entity.WahlPK;

public class ErgebnisBerechnenAusloesenEvent implements Serializable {

  private static final long serialVersionUID = -1L;

  @Inject
  private transient Event<ErgebnisBerechnenAusloesenEvent> event;

  private WahlPK wahlPK;

  private boolean gueltigeErgebniseingaengeErneutUebernehmen;

  private ErgebnisBerechnenAusloesenEvent() {
    super();
  }

  public ErgebnisBerechnenAusloesenEvent(WahlPK wahlPK, boolean gueltigeErgebniseingaengeErneutUebernehmen) {
    super();

    this.wahlPK = wahlPK;

    this.gueltigeErgebniseingaengeErneutUebernehmen = gueltigeErgebniseingaengeErneutUebernehmen;
  }

  public WahlPK getWahlPK() {
    return wahlPK;
  }

  public boolean isGueltigeErgebniseingaengeErneutUebernehmen() {
    return gueltigeErgebniseingaengeErneutUebernehmen;
  }

  public void sendErgebnisBerechnenAusloesenEvent(Wahl wahl, boolean gueltigeErgebniseingaengeErneutUebernehmen) {
    if (wahl != null) {
      event.fire(new ErgebnisBerechnenAusloesenEvent(wahl.getPk(), gueltigeErgebniseingaengeErneutUebernehmen));
    }
  }
}
