
package de.ivu.elect.dokumente.entschaedigung;

import java.math.BigDecimal;

import de.ivu.document.generator.template.annotations.DocumentComplexField;
import de.ivu.document.generator.template.annotations.DocumentSimpleField;
import de.ivu.elect.dokumente.BaseElectContext;
import de.ivu.elect.dokumente.ElectDocument;

public class EntschaedigungGruppierungMitGesamtbetragDocument extends ElectDocument {

  private static final long serialVersionUID = 1L;

  @DocumentSimpleField(value = "Nummer-Fortlaufend")
  public final Integer nummerFortlaufend;

  @DocumentComplexField("Entschaedigungsartinformationen")
  public final EntschaedigungsartBaseDocument entschaedigungsartinformationen;

  @DocumentSimpleField("Gesamtbetrag")
  public final BigDecimal gesamtbetrag;

  @DocumentSimpleField("Gesamtbetrag-Formatted")
  public final String gesamtbetragFormatted;

  @DocumentSimpleField("Gesamtbetrag-Mit-Waehrung")
  public final String gesamtbetragMitWaehrung;

  @DocumentSimpleField("Waehrung")
  public final String waehrung;

  public EntschaedigungGruppierungMitGesamtbetragDocument(BaseElectContext baseElectContext, int nummerFortlaufend, String beschreibung, BigDecimal gesamtbetrag, String waehrungAlsIsoCode) {
    super(baseElectContext);

    this.nummerFortlaufend = nummerFortlaufend;

    this.entschaedigungsartinformationen = new EntschaedigungsartBaseDocument(baseElectContext, beschreibung);

    this.gesamtbetrag = gesamtbetrag;
    this.gesamtbetragFormatted = baseElectContext.formatBetrag(gesamtbetrag);
    this.gesamtbetragMitWaehrung = baseElectContext.formatBetragMitWaehrungskuerzel(gesamtbetrag, waehrungAlsIsoCode);

    this.waehrung = baseElectContext.formatWaehrungskuerzel(waehrungAlsIsoCode);
  }
}
