
package de.ivu.elect.business.stimmeingabe.control.plausi;

import de.ivu.elect.business.stimmeingabe.entity.Stimmeingabe;
import de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiFehlerart;
import de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiKonfiguration;
import de.ivu.elect.jee.faces.Messages;

// Spezielle Plausi aufgrund der Implementierung von StimmeingabePlausiFiktiveWerteFehlerBeheber...
public class WaehlerGesamtAnzahlGroesserGleichAnzahlPlausi extends StimmeingabeAnzahlGroesserGleichAnzahlPlausi implements StimmeingabePlausiFiktiveWerteFehlerBeheber {

  public WaehlerGesamtAnzahlGroesserGleichAnzahlPlausi(StimmeingabePlausiKonfiguration stimmeingabePlausiKonfiguration, Messages messages) {
    super(StimmeingabeAnzahlReference.SYSTEM_GRUPPE_WAEHLER_GESAMT, stimmeingabePlausiKonfiguration, messages);
  }

  @Override
  public void behebeFehler(Stimmeingabe stimmeingabe) {
    Long anzahlSoll = calculateComparedToValue().longValue();

    if (StimmeingabePlausiFehlerart.ERROR.equals(getFehlerart()) && stimmeingabe.getAnzahl() < anzahlSoll) { // ELECT-15256
      stimmeingabe.setAnzahl(anzahlSoll);
    }
  }
}
