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

import javax.enterprise.inject.Specializes;

import de.ivu.elect.business.wahl.boundary.WahlZulassungspruefung;
import de.ivu.elect.business.wahlvorschlag.entity.Wahlvorschlag;

@Specializes
public class NlZulassungspruefungRegeln extends ZulassungspruefungRegeln{

  private static final long serialVersionUID = 1L;

  @Override
  public boolean isZulassungAufhebenKeineZulassungsfaehigkeitBeimZulassungsausschussZulaessig(Wahlvorschlag wahlvorschlag, WahlZulassungspruefung wahlZulassungspruefung) {
    return isZulassungAufhebenKeineZulassungsfaehigkeitZulaessig(wahlvorschlag) && super.isZulassungAufhebenKeineZulassungsfaehigkeitBeimZulassungsausschussZulaessig(wahlvorschlag, wahlZulassungspruefung);
  }

  @Override
  public boolean isZulassungAufhebenKeineZulassungsfaehigkeitNachZulassungsausschussZulaessig(Wahlvorschlag wahlvorschlag, WahlZulassungspruefung wahlZulassungspruefung) {
    return isZulassungAufhebenKeineZulassungsfaehigkeitZulaessig(wahlvorschlag) && super.isZulassungAufhebenKeineZulassungsfaehigkeitNachZulassungsausschussZulaessig(wahlvorschlag, wahlZulassungspruefung);
  }

  private boolean isZulassungAufhebenKeineZulassungsfaehigkeitZulaessig(Wahlvorschlag wahlvorschlag) {
    return wahlvorschlag != null && !wahlvorschlag.isListe(); // ELECT-9769
  }
}
