
package de.ivu.elect.presentation.kandidatur;

import javax.inject.Inject;

import de.ivu.elect.business.kandidatur.entity.Kandidatur;
import de.ivu.elect.business.wahl.boundary.WahlSessionSelect;
import de.ivu.elect.business.wahl.entity.Wahl;
import de.ivu.elect.business.wahl.entity.Wahltermin;
import de.ivu.elect.presentation.personenregister.AbstractPersonenregisterPersonendatenSelectionView;

public abstract class AbstractKandidaturPersonenregisterPersonendatenSelectionView<E extends Kandidatur> extends AbstractPersonenregisterPersonendatenSelectionView<E> {

  private static final long serialVersionUID = 1L;

  @Inject
  private transient WahlSessionSelect wahlSessionSelect;

  protected AbstractKandidaturPersonenregisterPersonendatenSelectionView() {
    super();
  }

  public String getPageTitle() {
    return getMessage("entity.create.page.title", getCreateViewHelper().getEntityEinzahlMessage());
  }

  public String getPageHeader() {
    return getMessage("entity.mit.gebiet.create.page.header", getCreateViewHelper().getEntityEinzahlMessage(), getGebietName());
  }

  @Override
  protected Wahltermin getWahltermin() {
    Wahl wahl = wahlSessionSelect.getEntity();

    if (wahl != null) {
      return wahl.getWahltermin();
    }

    return null;
  }
}
