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

import de.ivu.elect.business.stimmeingabe.entity.Ergebniseingabestatus;
import de.ivu.elect.business.stimmeingabe.entity.Ergebniseingangsart;

import java.util.Collection;
import java.util.Collections;

public class ErfassungsschrittSchnellmeldungErfassungMenuItem extends AbstractErfassungsschrittMenuItem {

  private static final long serialVersionUID = 1L;

  @Override
  public String getLabelKey() {
    return "erfassungsschritt.schnellmeldung.erfassung.menu.item.label";
  }

  @Override
  protected Collection<Ergebniseingabestatus> getExpectedErgebniseingabestatus() {
    return EINGABE_MOEGLICH_STATUS;
  }

  @Override
  protected Ergebniseingangsart getExpectedErgebniseingangsart() {
    return Ergebniseingangsart.VORLAEUFIG;
  }

  @Override
  protected String getDialogNameInternal() {
    return null; // action direkt ausfuehren
  }

  @Override
  public String doActionInternal() {
    return setzeGebietStatus(Ergebniseingabestatus.EINGABE_MOEGLICH);
  }

  @Override
  protected boolean isBefore() {
    if (getErgebniseingangsart().isEndgueltig()) {
      return true;
    }
    return isBeforeErgebniseingabestatus();
  }

}
