
package de.ivu.elect.presentation.person;

import javax.inject.Inject;

import de.ivu.elect.business.person.entity.Personendaten;
import de.ivu.elect.business.person.entity.PersonendatenProperties;
import de.ivu.elect.jee.presentation.dynamicform.FormBuilder;
import de.ivu.elect.presentation.ViewFormBuilder;
import de.ivu.elect.presentation.person.form.PersonendatenViewFormBuilder;

public class AnsprechpartnerViewFormBuilder extends ViewFormBuilder {

  private static final long serialVersionUID = 1L;

  @Inject
  protected transient PersonendatenViewFormBuilder personendatenViewFormBuilder;

  public AnsprechpartnerViewFormBuilder() {
    super();
  }

  public void addProperties(FormBuilder formBuilder, Personendaten ansprechpartner) {
    addProperties(formBuilder, ansprechpartner, false);
  }

  public void addProperties(FormBuilder formBuilder, Personendaten ansprechpartner, boolean readonly) {
    addPersonendatenProperties(formBuilder, ansprechpartner, readonly);
    addErreichbarkeitsdatenProperties(formBuilder, ansprechpartner, readonly);
  }

  public void addPersonendatenProperties(FormBuilder formBuilder, Personendaten ansprechpartner, boolean readonly) {
    PersonendatenProperties personendatenProperties = ansprechpartner.getProperties();

    formBuilder.addProperty(personendatenProperties.getAnredeProperty()).withReadonly(readonly);

    formBuilder.addProperty(personendatenProperties.getFamiliennameProperty()).withReadonly(readonly);
    formBuilder.addProperty(personendatenProperties.getRufnameProperty()).withReadonly(readonly);
  }

  public void addErreichbarkeitsdatenProperties(FormBuilder formBuilder, Personendaten ansprechpartner, boolean readonly) {
    personendatenViewFormBuilder.addDefaultErreichbarkeitsdatenProperties(formBuilder, ansprechpartner, readonly);
  }
}
