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

import de.ivu.elect.business.kandidatur.entity.Kandidatur;
import de.ivu.elect.business.stimmzettel.entity.EntityAufStimmzettelDaten;

// ELECT-11475
public class KandidaturPersonStatusZulassungPruefSchritt extends AbstractZulassungPruefSchritt implements KandidaturZulassungPruefSchritt {

  private static final long serialVersionUID = 1L;

  public KandidaturPersonStatusZulassungPruefSchritt() {
    super();
  }

  @Override
  public boolean isZulassungErlaubt(Kandidatur kandidatur, EntityAufStimmzettelDaten entityAufStimmzettelDaten) {
    return kandidatur != null && kandidatur.isPersonStatusGeeignetOderNichtZuPruefen();
  }

  @Override
  public String getGrundFuerVerweigerungDerZulassung(Kandidatur kandidatur) {
    String result = "";

    if (kandidatur != null) {
      if (kandidatur.isPersonStatusNichtGeeignet()) {
        result = getMessage("KandidaturZulassungPruefer.person.ist.nicht.geeignet");
      } else if (!kandidatur.isPersonStatusGeeignetOderNichtZuPruefen()) {
        result = getMessage("KandidaturZulassungPruefer.person.ist.noch.zu.pruefen");
      }
    }

    return result;
  }
}
