package de.ivu.elect.business.stimmeingabe.entity;

import de.ivu.elect.business.gebietsbaum.entity.Wahldurchfuehrungsgebiet;
import de.ivu.elect.jee.faces.Messages;
import de.ivu.elect.presentation.gebietsbaum.GebietNummerFormatter;

public class ErgebniseingangExceptionContext {
  private final Wahldurchfuehrungsgebiet wahldurchfuehrungsgebiet;
  private final Ergebniseingangsherkunft ergebniseingangsherkunft;
  private final GebietNummerFormatter gebietNummerFormatter;
  private final Messages messages;

  public ErgebniseingangExceptionContext(Wahldurchfuehrungsgebiet wahldurchfuehrungsgebiet, Ergebniseingangsherkunft ergebniseingangsherkunft, GebietNummerFormatter gebietNummerFormatter, Messages messages) {
    this.wahldurchfuehrungsgebiet = wahldurchfuehrungsgebiet;
    this.ergebniseingangsherkunft = ergebniseingangsherkunft;
    this.gebietNummerFormatter = gebietNummerFormatter;
    this.messages = messages;
  }

  public Wahldurchfuehrungsgebiet getWahldurchfuehrungsgebiet() {
    return wahldurchfuehrungsgebiet;
  }

  public Ergebniseingangsherkunft getErgebniseingangsherkunft() {
    return ergebniseingangsherkunft;
  }

  public GebietNummerFormatter getGebietNummerFormatter() {
    return gebietNummerFormatter;
  }

  public Messages getMessages() {
    return messages;
  }

  public String getGebietDarstellung(){
    return gebietNummerFormatter.getDarstellung(wahldurchfuehrungsgebiet);
  }

  public String lokalisiere(Enum<?> enumValue){
    return messages.lokalisiere(enumValue);
  }

  public String lokalisiereErgebniseingangsherkunft(){
    return messages.lokalisiere(ergebniseingangsherkunft);
  }

  public void addWarnMessage(String key, Object... params) {
    messages.addWarnMessage(key, params);
  }

  public void addInfoMessage(String key, Object... params) {
    messages.addInfoMessage(key, params);
  }
}
