
package de.ivu.elect.presentation.wahlvorschlagsperson.form;

import static java.util.Arrays.asList;

import java.util.List;

import de.ivu.elect.business.wahlvorschlagsperson.entity.WahlvorschlagsPerson;
import de.ivu.elect.business.wahlvorschlagsperson.entity.WahlvorschlagsPersonTyp;
import de.ivu.elect.jee.presentation.dynamicform.FormBuilder;

/*
 * NOTE ELECTMUC-521, dass extern abgeglichene Personendaten nicht mehr bearbeitbar sind. Falls die extern abgeglichene Personendaten abweichen, müssen diese manuell erfasst werden.
 */
public class UnterzeichnerViewFormBuilder extends AbstractWahlvorschlagsPersonViewFormBuilder {

  private static final long serialVersionUID = 1L;

  public UnterzeichnerViewFormBuilder() {
    super();
  }

  @Override
  protected List<WahlvorschlagsPersonTyp> getRelevantWahlvorschlagsPersonTypen(boolean individuelleWahlvorschlagsPerson) {
    return asList(WahlvorschlagsPersonTyp.UNTERZEICHNER);
  }

  @Override
  public void addProperties(FormBuilder formBuilder, WahlvorschlagsPerson unterzeichner, boolean propertiesReadonly) {
    boolean readonlyOrPersonenregisterAbgeglichen = propertiesReadonly || isPersonenregisterAbgeglichenAndNotPersonenregisterAbgleichUeberschreibbar(unterzeichner);

    addWahlvorschlagsPersonProperties(formBuilder, unterzeichner, readonlyOrPersonenregisterAbgeglichen);
    addWahlvorschlagsPersonPersonendatenProperties(formBuilder, unterzeichner, readonlyOrPersonenregisterAbgeglichen);
    addWahlvorschlagsPersonAnschriftProperties(formBuilder, unterzeichner, unterzeichner.getAnschrift(), readonlyOrPersonenregisterAbgeglichen);
  }
}
