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

import java.util.ArrayList;
import java.util.List;

import javax.inject.Inject;

import de.ivu.elect.business.veranstaltung.entity.VeranstaltungConstants;
import de.ivu.elect.jee.presentation.menu.AbstractSubMenuEntry;
import de.ivu.elect.jee.presentation.menu.MenuEntry;

public class VeranstaltungMainMenuEntry extends AbstractSubMenuEntry {

  private static final long serialVersionUID = 1L;

  @Inject
  private transient VeranstaltungSearchMenuItemEntry veranstaltungSearchMenuItemEntry;

  @Inject
  private transient VeranstaltungCreateMenuItemEntry veranstaltungCreateMenuItemEntry;

  @Inject
  private transient VeranstaltungImportMenuItemEntry veranstaltungImportMenuItemEntry;

  @Inject
  private transient TeilnahmeImportMenuItemEntry teilnahmeImportMenuItemEntry;

  @Inject
  private transient TeilnehmerSearchMenu teilnehmerSearchMenu;

  public VeranstaltungMainMenuEntry() {
    super();
  }

  @Override
  protected List<MenuEntry> getSubMenuEntriesSorted() {
    List<MenuEntry> result = new ArrayList<>();

    // nur anzeigen, wenn Möglichkeit zum Einladen von Personen vorhanden!
    if (teilnehmerSearchMenu.getMenuEntriesSorted().isEmpty()) {
      return result;
    }

    result.add(veranstaltungSearchMenuItemEntry);
    result.add(veranstaltungCreateMenuItemEntry);
    result.add(veranstaltungImportMenuItemEntry);
    result.add(teilnahmeImportMenuItemEntry);

    return result;
  }

  @Override
  public String getLabelKey() {
    return VeranstaltungConstants.MESSAGE_KEY_ENTITY_MEHRZAHL;
  }
}
