
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;
import de.ivu.elect.business.internet.control.GebietUndStimmabgabeart;

public class WaehlerKergGruppeContainer extends AbstractKergGruppeContainer<Gruppe> {

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

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

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

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

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

  private Long getWaehlerGesamtAktuell() {
    return getErgebnisDaten().getWaehlerAktuellGesamt(new GebietUndStimmabgabeart(getGebiet(), getStimmabgabeart()));
  }

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