
package de.ivu.elect.presentation.ergebnis.dokumente.gesamtergebnis.dhondt;

import java.math.BigDecimal;

import de.ivu.document.generator.template.BaseDocument;
import de.ivu.document.generator.template.annotations.DocumentSimpleField;
import de.ivu.elect.business.ergebnis.entity.DHondtQuotient;
import de.ivu.elect.dokumente.CoreElectContext;

public class AbstractDHondtQuotientDocument extends BaseDocument {

  private static final long serialVersionUID = 1L;

  public static final int SCALE = 2;

  @DocumentSimpleField("Zaehler")
  public final Long zaehler;

  @DocumentSimpleField("Nenner")
  public final Long nenner;

  @DocumentSimpleField("Quotient")
  public final BigDecimal quotient;

  /**
   * @deprecated
   * @see DHondtTableRow#quotient
   * @see DokumentFormatter#formatBigDecimalKommastellen
   */
  @Deprecated
  @DocumentSimpleField("Quotient-Zweistellig")
  public final BigDecimal quotientZweiStellig;

  @DocumentSimpleField("Rang")
  public final Long rang;

  @DocumentSimpleField("Sitzgewinn")
  public final boolean sitzgewinn;

  @DocumentSimpleField("TeilnehmerAmLosverfahren")
  public final boolean teilnehmerAmLosverfahren;

  public AbstractDHondtQuotientDocument(CoreElectContext coreElectContext, DHondtQuotient dHondtQuotient) {
    super();

    this.zaehler = dHondtQuotient.getZaehler();
    this.nenner = dHondtQuotient.getNenner();

    this.quotient = dHondtQuotient.getQuotientenwert();
    this.quotientZweiStellig = dHondtQuotient.getQuotientenwert(SCALE);

    this.rang = dHondtQuotient.getRang();

    this.sitzgewinn = dHondtQuotient.getSitzgewinn();

    this.teilnehmerAmLosverfahren = dHondtQuotient.getTeilnehmerAmLosverfahren();
  }
}
