
package de.ivu.elect.business.ergebnis.control;

import java.util.List;
import java.util.Set;
import java.util.function.Function;
import java.util.function.Supplier;

import de.ivu.elect.business.ergebnis.entity.Stimmenart;
import de.ivu.elect.business.gebietsbaum.entity.Gebiet;
import de.ivu.elect.business.gebietsbaum.entity.Wahldurchfuehrungsgebiet;

public class ErgebnisDatenWahlberechtigteVorperiode extends AbstractErgebnisDatenWahlberechtigte {

  public ErgebnisDatenWahlberechtigteVorperiode(Function<Wahldurchfuehrungsgebiet, List<Wahldurchfuehrungsgebiet>> untergeordneteGebiete, Supplier<Set<Gebiet>> erfassteGebiete, StimmenKumulierer stimmenKumulierer, StimmenPool stimmenPool) {
    super(untergeordneteGebiete, erfassteGebiete, stimmenKumulierer, stimmenPool);
  }

  @Override
  public Long ermittleStimmen(Stimmenart stimmenart, Wahldurchfuehrungsgebiet wahldurchfuehrungsgebiet) {
    // TODO ELECT-12588
    return getStimmenKumulierer().getSummeWahlberechtigteStimmenAufGebiet(getStimmenPool(), wahldurchfuehrungsgebiet, stimmenart);
  }
}
