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

import de.ivu.elect.business.exchange.entity.DateiImportArt;
import de.ivu.elect.business.security.UseCasePermission;
import de.ivu.elect.jee.exchange.ImportOptions;
import de.ivu.elect.presentation.exchange.ImportDescription;
import de.ivu.elect.presentation.veranstaltung.menu.VeranstaltungPageMenu;

public class TeilnahmeImportDescription implements ImportDescription {

  @Override
  public String getImportSearchViewId() {
    return TeilnahmeImportSearchView.VIEW_ID;
  }

  @Override
  public String getImportFormatFestlegenViewId() {
    return TeilnahmeImportFormatFestlegenView.VIEW_ID;
  }

  @Override
  public String getImportBestaetigenViewId() {
    return TeilnahmeImportBestaetigenView.VIEW_ID;
  }

  @Override
  public boolean isConfirmationForImportNeeded() {
    return false;
  }

  @Override
  public boolean isSpecificPerWahlOrWahltermin() {
    return true;
  }

  @Override
  public DateiImportArt getDateiImportArt() {
    return DateiImportArt.TEILNAHME_IMPORT;
  }

  @Override
  public UseCasePermission getUseCasePermission() {
    return UseCasePermission.TEILNAHME_IMPORTIEREN;
  }

  @Override
  public String getPageMenuComponentName() {
    return VeranstaltungPageMenu.COMPONENT_NAME;
  }

  @Override
  public ImportOptions getDefaultImportOptions() {
    // HINT: bestehende Daten unverändert lassen; im Hinterkopf der mehmalige, inkrementelle Import von Teilnehmern zu einer Veranstaltung
    return ImportOptions.NEUE_DATEN_ANLEGEN_BESTEHENDE_DATEN_UNVERAENDERT_LASSEN;
  }
}
