package de.ivu.elect.dokumente.stimmeingabe;

import de.ivu.document.generator.template.BaseDocument;
import de.ivu.document.generator.template.annotations.DocumentSimpleField;
import de.ivu.elect.business.stimmzettel.entity.Stimmzettel;
import de.ivu.elect.dokumente.BaseElectContext;

public class ErfassterStimmzettelDocument extends BaseDocument {
  private static final long serialVersionUID = 1L;

  @DocumentSimpleField("Nummer")
  public final String nummer;

  @DocumentSimpleField("StimmzettelTeam")
  public final String stimmzettelTeam;

  @DocumentSimpleField("Erfasser")
  public final String erfasser;

  @DocumentSimpleField("Erfassungszeitpunkt")
  public final String erfassungszeitpunkt;

  @DocumentSimpleField("Bemerkung")
  public final String bemerkung;

  @DocumentSimpleField("Gueltigkeit")
  public final String gueltigkeit;

  @DocumentSimpleField("IstGueltig")
  public final boolean isGueltig;

  @DocumentSimpleField("IstPerBeschlussFestgelegt")
  public final boolean isPerBeschlussFestgelegt;

  @DocumentSimpleField("Versionsnummer")
  public final Long versionsnummer;

  public ErfassterStimmzettelDocument(BaseElectContext baseElectContext, Stimmzettel stimmzettel) {
    nummer = stimmzettel.getNummer();
    stimmzettelTeam = baseElectContext.getMessage(stimmzettel.getStimmzettelTeam());
    erfasser = stimmzettel.getErfasser();
    bemerkung = stimmzettel.getBemerkung();
    gueltigkeit = baseElectContext.getMessage(stimmzettel.getGueltigkeit());
    isGueltig = stimmzettel.getGueltigkeit().isGueltig();
    isPerBeschlussFestgelegt = stimmzettel.getGueltigkeit().isPerBeschlussFestgelegt();
    versionsnummer = stimmzettel.getVersionsnummer();
    erfassungszeitpunkt = baseElectContext.formatDateTimeMedium(stimmzettel.getErfassungszeitpunkt());
  }

}
