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

import java.util.Map;
import java.util.Set;

import de.ivu.elect.business.gruppeimgebiet.entity.GruppeImGebiet;
import de.ivu.elect.business.gruppeimgebiet.entity.GruppeImGebietTK;
import de.ivu.elect.business.stimmeingabe.control.StimmeingabeImportContext;
import de.ivu.elect.business.stimmeingabe.control.StimmeingabeImporterHelper;
import de.ivu.elect.business.wahl.entity.Wahldurchfuehrung;
import de.ivu.elect.jee.exchange.Violations;

public interface StimmeingabeImporterGruppeImGebietErsetzenStrategie {

  void tauscheGruppeImGebiet(Wahldurchfuehrung wahldurchfuehrung, Stimmeingabe stimmeingabe, Map<GruppeImGebietTK, GruppeImGebiet> gruppenImGebietInDb, StimmeingabeImporterGigContext gigInDbContext,
      StimmeingabeImportContext stimmeingabeImportContext, StimmeingabeImporterHelper stimmeingabeImporterHelper);

  void pruefeGruppeImGebiet(Wahldurchfuehrung wahldurchfuehrung, Violations violations, Map<GruppeImGebietTK, GruppeImGebiet> gruppenImGebietInDb,
      Stimmeingabe stimmeingabe, StimmeingabeImporterGigContext gruppenImGebietInDbContext, StimmeingabeImportContext stimmeingabeImportContext, StimmeingabeImporterHelper stimmeingabeImporterHelper);
}
