
package de.ivu.elect.was.exchange.ergebnis;

import javax.inject.Inject;

import de.ivu.elect.business.ergebnis.control.NlWasErgebnisArtefaktNachGebietErgebniseingabestatusExportContext;
import de.ivu.elect.business.security.Customer;
import de.ivu.elect.business.wahl.entity.NlWahlart;
import de.ivu.elect.business.wahl.entity.Wahl;
import de.ivu.elect.was.exchange.ergebnis.eml.Eml510bPSBErgebnisExportMapper;

/**
 * @see NlWasModelIIMainDocumentExportMapper
 * @see NlWasModelIIEml510dExportMapper
 */
public class NlWasModelIIEml510bExportMapper extends AbstractNlWasModelIIEml510xExportMapper {

  @Inject
  private transient Eml510bPSBErgebnisExportMapper eml510bPSBErgebnisExportMapper;

  public NlWasModelIIEml510bExportMapper() {
    super();
  }

  @Override
  protected boolean isEmlExportMapperAcceptContextOverridden(NlWasErgebnisArtefaktNachGebietErgebniseingabestatusExportContext context) {
    return NlWahlart.GEMEENTERAAD.equalsWahlart(context.getWahl()); // ELECTVAPP-614, cf. NlWasModelN11Eml510bExportMapper
  }

  @Override // https://support.elect-it.com/wiki/x/48g8
  protected boolean isAcceptWahlebene(Wahl wahl, Customer customer) {
    return NlWahlart.isWasPSB(wahl, customer);
  }

  @Override
  protected Eml510bPSBErgebnisExportMapper getEmlExportMapper() {
    return eml510bPSBErgebnisExportMapper;
  }
}
