
package de.ivu.elect.dokumente.gebiet;

import java.util.ArrayList;
import java.util.List;

import de.ivu.document.generator.template.annotations.Document;
import de.ivu.document.generator.template.annotations.DocumentRepeat;
import de.ivu.elect.business.dokumente.entity.DokumentVorlageArt;
import de.ivu.elect.business.gebietsbaum.entity.Gebiet;
import de.ivu.elect.dokumente.BaseElectContext;
import de.ivu.elect.dokumente.ElectDocument;

@Document(DokumentVorlageArt.GEBIET_UEBERSICHT_DOKUMENT_PREFIX)
public class GebietUebersichtDocument extends ElectDocument {

  private static final long serialVersionUID = 1L;

  @DocumentRepeat(value = "Gebiete", elementClass = GebietMitAnsprechpartnerDokument.class, itemName = "gebiet")
  public final List<GebietMitAnsprechpartnerDokument> gebiete;

  public GebietUebersichtDocument(BaseElectContext baseElectContext, List<Gebiet> gebiete) {
    super(baseElectContext);

    this.gebiete = erstelleGebiete(baseElectContext, gebiete);
  }

  private List<GebietMitAnsprechpartnerDokument> erstelleGebiete(BaseElectContext baseElectContext, List<Gebiet> gebiete) {
    List<GebietMitAnsprechpartnerDokument> result = new ArrayList<>();

    for (Gebiet gebiet : gebiete) {
      result.add(new GebietMitAnsprechpartnerDokument(baseElectContext, gebiet));
    }

    return result;
  }
}
