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

import de.ivu.elect.business.datei.entity.AbstractDateiFileNames;
import de.ivu.elect.business.exchange.control.FileFormat;
import de.ivu.elect.business.exchange.entity.DateiExportArt;
import de.ivu.elect.business.security.Customer;
import de.ivu.elect.business.wahl.entity.Wahl;
import de.ivu.elect.business.wahl.entity.Wahltermin;
import de.ivu.elect.jee.faces.Messages;

public class Osv56ErgebnisCsvExportFileNames extends AbstractDateiFileNames {

  private final DateiExportArt dateiExportArt;

  private final Customer customer;

  public Osv56ErgebnisCsvExportFileNames(Messages messages, DateiExportArt dateiExportArt, Customer customer) {
    super(messages);

    this.dateiExportArt = dateiExportArt;

    this.customer = customer;

  }

  @Override
  public String getOriginalDateiname(FileFormat fileFormat, Wahl wahl, Wahltermin wahltermin) {
    String wahlartKennzeichen = wahl.getWahlart().getKennzeichen();
    String wahljahr = String.valueOf(wahl.getWahljahr()); // NICHT als Zahl formatieren...

    String fileExtension = fileFormat.getFileType().getFileExtension();

    return getMessage("file.format.ergebnisdokument.export.osv56.main.file.name.format", wahlartKennzeichen, wahljahr) + "." + fileExtension;
  }

  @Override
  public String getDateiname(FileFormat fileFormat, Wahl wahl, Wahltermin wahltermin) {
    return generateDateiname(fileFormat, dateiExportArt, true);
  }
}
