
package de.ivu.elect.business.wahlrechtspruefung.boundary;

import java.util.Map;

import javax.ejb.Stateless;

import de.ivu.elect.business.wahlrechtspruefung.entity.WahlrechtspruefStatus;
import de.ivu.elect.business.wahlrechtspruefung.entity.Wahlrechtspruefung;

@Stateless
public class WahlrechtspruefungEdit extends AbstractWahlrechtspruefungEdit {

  public WahlrechtspruefungEdit() {
    super();
  }

  public void setzeWahlrechtspruefungStatus(Wahlrechtspruefung wahlrechtspruefung, WahlrechtspruefStatus wahlrechtspruefStatus) {
    String bemerkung = wahlrechtspruefung.getBemerkung();
    Long fristInTagenBisZurWahl = wahlrechtspruefung.getFristInTagenBisZurWahl();

    Map<String, Object> transientContext = wahlrechtspruefung.getTransientContext();
    Wahlrechtspruefung wahlrechtspruefungAttached = dao.attach(wahlrechtspruefung);
    wahlrechtspruefungAttached.getTransientContext().putAll(transientContext);

    setStatusInternal(wahlrechtspruefungAttached, wahlrechtspruefStatus, bemerkung, fristInTagenBisZurWahl);
  }

  protected void setStatusInternal(Wahlrechtspruefung wahlrechtspruefungAttached, WahlrechtspruefStatus wahlrechtspruefStatus, String bemerkung, Long fristInTagenBisZurWahl) {
    wahlrechtspruefungAttached.setWahlrechtspruefStatus(wahlrechtspruefStatus);
    wahlrechtspruefungAttached.setBemerkung(bemerkung);
    wahlrechtspruefungAttached.setFristInTagenBisZurWahl(fristInTagenBisZurWahl);
  }
}
