
package de.ivu.elect.presentation.kandidatur.menu;

import javax.inject.Inject;

import de.ivu.elect.business.kandidatur.entity.Direktkandidatur;
import de.ivu.elect.business.wahlvorschlag.boundary.WahlvorschlagZuTestzweckenZulasser;
import de.ivu.elect.presentation.View;
import de.ivu.elect.presentation.kandidatur.DirektkandidaturSearchView;
import de.ivu.elect.presentation.wahlvorschlag.menu.AbstractWahlvorschlagZuTestzweckenZulassenMenuItemEntry;

public class DirektkandidaturZuTestzweckenZulassenMenuItemEntry extends AbstractWahlvorschlagZuTestzweckenZulassenMenuItemEntry implements KandidaturZulassungspruefungMenuItemEntry<Direktkandidatur> {

  private static final long serialVersionUID = 1L;

  @View
  @Inject
  private transient DirektkandidaturSearchView direktkandidaturSearchView;

  @Inject
  private transient WahlvorschlagZuTestzweckenZulasser wahlvorschlagZuTestzweckenZulasser;

  public DirektkandidaturZuTestzweckenZulassenMenuItemEntry() {
    super();
  }

  @Override
  protected String getSearchViewId() {
    return DirektkandidaturSearchView.VIEW_ID;
  }

  @Override
  protected void doActionInternal() {
    for (Direktkandidatur direktkandidatur : direktkandidaturSearchView.getSearchResult()) {
      wahlvorschlagZuTestzweckenZulasser.lasseDirektkandidatZu(direktkandidatur.getDirektkandidat());
    }
  }

  @Override
  protected String getLabel() {
    return getMessage(getLabelKey(), "Ungeprüfte Direktkandidaten zulassen (NUR ZUR ENTWICKLUNG)");
  }
}
