
package de.ivu.elect.dokumente.ergebnis;

import de.ivu.elect.business.ergebnis.control.NlWasErgebnisArtefaktNachGebietErgebniseingabestatusExportContext;
import de.ivu.elect.business.wahl.control.AbstractNlExportArtefaktNachSystemExportstatusExportContext;

/**
 * @see NlWasModelIIBijlage1DocumentExportMapper
 * @see NlWasModelIIEml510bExportMapper
 * @see NlWasModelIIEml510dExportMapper
 * @see NlWasModelIIOsv43CsvExportMapper
 *
 * @deprecated ELECT-15233, Model II -> Model Na 31-2
 */
@Deprecated
public class NlWasModelIIMainDocumentExportMapper extends AbstractNlWasModelIIDocumentExportMapper {

  public static final String FILE_FORMAT_NAME = "file.format.ergebnisdokument.export.model2.main";

  public NlWasModelIIMainDocumentExportMapper() {
    super();
  }

  @Override
  protected boolean isAcceptContextIgnoringSystemExportstatus(NlWasErgebnisArtefaktNachGebietErgebniseingabestatusExportContext context) {
    return FILE_FORMAT_EXPORTIERBAR && super.isAcceptContextIgnoringSystemExportstatus(context); // ELECT-15233, Model II -> Model Na 31-2
  }

  @Override
  public String getFileFormatName() {
    return FILE_FORMAT_NAME;
  }

  @Override
  protected String getDokumentVorlageNameInfix() {
    return "Model II";
  }

  /*
   * https://support.elect-it.com/wiki/x/XoE8
   */

  @Override
  public boolean requiresWahlausschusssitzungBeginn(AbstractNlExportArtefaktNachSystemExportstatusExportContext context) {
    return true;
  }

  @Override
  public boolean requiresWahlausschusssitzungEnde(AbstractNlExportArtefaktNachSystemExportstatusExportContext context) {
    return true;
  }
}
