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

import de.ivu.elect.business.ergebnis.control.ErgebnisDaten;
import de.ivu.elect.business.ergebnis.entity.Stimmabgabeart;
import de.ivu.elect.business.gebietsbaum.entity.Wahldurchfuehrungsgebiet;
import de.ivu.elect.business.gruppe.entity.Gruppe;

/**
 *  on 26.05.2015.
 */
public class WahlberechtigteKergGruppeContainer extends AbstractKergGruppeContainer<Gruppe> {

  protected WahlberechtigteKergGruppeContainer(ErgebnisDaten ergebnisDaten, Gruppe gruppe, Wahldurchfuehrungsgebiet gebiet,
      Stimmabgabeart stimmabgabeart) {
    super(ergebnisDaten, gruppe, gebiet, stimmabgabeart);
  }

  @Override
  protected Long getErstStimmenAktuell() {
    return getWahlberechtigteGesamtAktuell();
  }

  @Override
  protected Long getErstStimmenVorperiode() {
    return getWahlberechtigteGesamtVorperiode();
  }

  @Override
  protected Long getZweitStimmenAktuell() {
    return getWahlberechtigteGesamtAktuell();
  }

  @Override
  protected Long getZweitStimmenVorperiode() {
    return getWahlberechtigteGesamtVorperiode();
  }

  private Long getWahlberechtigteGesamtAktuell() {
    return getErgebnisDaten().getWahlberechtigteGesamtFuerErfassungsgebietUnterhalbVonAnzahl(getGebiet(), getStimmabgabeart());
  }

  private Long getWahlberechtigteGesamtVorperiode() {
    return getErgebnisDaten().getWahlberechtigteVorperiodeGesamtFuerErfassungsgebietUnterhalbVonAnzahl(getGebiet(), getStimmabgabeart());
  }
}
