
package de.ivu.elect.exchange.person;

import java.util.Date;

import org.jsefa.csv.annotation.CsvDataType;
import org.jsefa.csv.annotation.CsvField;

import de.ivu.elect.business.person.entity.Personendaten;
import de.ivu.elect.jee.faces.Messages;
import de.ivu.jsefa.CsvHeader;

@CsvDataType
public class PersonendatenAlleDatenDTO extends PersonendatenOhneWahlrechtlicheBedeutungAlleDatenDTO {

  private static final long serialVersionUID = 1L;

  protected static final int PERSONENDATEN_ERSTE_ID = PersonendatenOhneWahlrechtlicheBedeutungAlleDatenDTO.PERSONENDATEN_OHNE_WAHLRECHTLICHE_BEDEUTUNG_LETZTE_ID + 1;

  protected static final int PERSONENDATEN_LETZTE_ID = PERSONENDATEN_ERSTE_ID + 19;

  @CsvField(pos = PERSONENDATEN_ERSTE_ID)
  @CsvHeader("AkademischerGrad")
  private String akademischerGrad;

  @CsvField(pos = PERSONENDATEN_ERSTE_ID + 1)
  @CsvHeader("Beruf")
  private String beruf;

  @CsvField(pos = PERSONENDATEN_ERSTE_ID + 2)
  @CsvHeader("Berufschluessel")
  private String berufschluessel;

  @CsvField(pos = PERSONENDATEN_ERSTE_ID + 3)
  @CsvHeader("VornamenVollstaendig")
  private String vornamen;

  @CsvField(pos = PERSONENDATEN_ERSTE_ID + 4)
  @CsvHeader("Ehrenamt")
  private String ehrenamt;

  @CsvField(pos = PERSONENDATEN_ERSTE_ID + 5)
  @CsvHeader("Künstlername")
  private String kuenstlername;

  @CsvField(pos = PERSONENDATEN_ERSTE_ID + 6)
  @CsvHeader("Namensbestandteile")
  private String familiennameBestandteil;

  @CsvField(pos = PERSONENDATEN_ERSTE_ID + 7)
  @CsvHeader("Ordensname")
  private String ordensname;

  @CsvField(pos = PERSONENDATEN_ERSTE_ID + 8)
  @CsvHeader("Sperrmerkmal")
  private String sperrmerkmal;

  @CsvField(pos = PERSONENDATEN_ERSTE_ID + 9)
  @CsvHeader("Stimmbezirksschluessel")
  private String stimmbezirksschluessel;

  @CsvField(pos = PERSONENDATEN_ERSTE_ID + 10)
  @CsvHeader("Wahlrechtsausschluss")
  private String wahlrechtsausschluss;

  @CsvField(pos = PERSONENDATEN_ERSTE_ID + 11)
  @CsvHeader("ZuzugsdatumBund")
  private Date zuzugsdatumBund;

  @CsvField(pos = PERSONENDATEN_ERSTE_ID + 12)
  @CsvHeader("ZuzugsdatumGemeinde")
  private Date zuzugsdatumGemeinde;

  @CsvField(pos = PERSONENDATEN_ERSTE_ID + 13)
  @CsvHeader("ZuzugsdatumLand")
  private Date zuzugsdatumLand;

  @CsvField(pos = PERSONENDATEN_ERSTE_ID + 14)
  @CsvHeader("ZuzugsdatumStadtbezirk")
  private Date zuzugsdatumStadtbezirk;

  @CsvField(pos = PERSONENDATEN_ERSTE_ID + 15)
  @CsvHeader("Geburtsdatum")
  private Date geburtsdatum;

  @CsvField(pos = PERSONENDATEN_ERSTE_ID + 16)
  @CsvHeader("Geburtsort")
  private String geburtsort;

  @CsvField(pos = PERSONENDATEN_ERSTE_ID + 17)
  @CsvHeader("Geschlecht")
  private String geschlecht;

  @CsvField(pos = PERSONENDATEN_ERSTE_ID + 18)
  @CsvHeader("ExterneId")
  private String externeId;

  @CsvField(pos = PERSONENDATEN_LETZTE_ID)
  @CsvHeader("ExternesOrdnungsmerkmal")
  private String ordnungsmerkmal;

  public PersonendatenAlleDatenDTO() {
    super();
  }

  public PersonendatenAlleDatenDTO(Personendaten personendaten, Messages messages) {
    super(personendaten, messages);

    akademischerGrad = personendaten.getAkademischeGradeCommaSeparated();
    beruf = personendaten.getBerufeCommaSeparated();
    berufschluessel = personendaten.getBerufsschluessel();
    vornamen = personendaten.getVornamen();
    ehrenamt = personendaten.getEhrenaemterCommaSeparated();
    kuenstlername = personendaten.getKuenstlername();
    familiennameBestandteil = personendaten.getFamiliennameBestandteil();
    ordensname = personendaten.getOrdensname();
    sperrmerkmal = messages.lokalisiere(personendaten.getSperrmerkmal());
    stimmbezirksschluessel = personendaten.getStimmbezirkSchluessel();
    wahlrechtsausschluss = messages.lokalisiere(personendaten.getWahlrechtsausschluss());
    zuzugsdatumBund = personendaten.getZuzugsdatumBund();
    zuzugsdatumGemeinde = personendaten.getZuzugsdatumGemeinde();
    zuzugsdatumLand = personendaten.getZuzugsdatumLand();
    zuzugsdatumStadtbezirk = personendaten.getZuzugsdatumStadtbezirk();
    geburtsdatum = personendaten.getGeburtsdatum();
    geburtsort = personendaten.getGeburtsort();
    geschlecht = messages.lokalisiere(personendaten.getGeschlecht());
    externeId = personendaten.getExterneId();
  }

  public String getAkademischerGrad() {
    return akademischerGrad;
  }

  public void setAkademischerGrad(String akademischerGrad) {
    this.akademischerGrad = akademischerGrad;
  }

  public String getBeruf() {
    return beruf;
  }

  public void setBeruf(String beruf) {
    this.beruf = beruf;
  }

  public String getBerufschluessel() {
    return berufschluessel;
  }

  public void setBerufschluessel(String berufschluessel) {
    this.berufschluessel = berufschluessel;
  }

  public String getVornamen() {
    return vornamen;
  }

  public void setVornamen(String vornamen) {
    this.vornamen = vornamen;
  }

  public String getEhrenamt() {
    return ehrenamt;
  }

  public void setEhrenamt(String ehrenamt) {
    this.ehrenamt = ehrenamt;
  }

  public String getKuenstlername() {
    return kuenstlername;
  }

  public void setKuenstlername(String kuenstlername) {
    this.kuenstlername = kuenstlername;
  }

  public String getFamiliennameBestandteil() {
    return familiennameBestandteil;
  }

  public void setFamiliennameBestandteil(String familiennameBestandteil) {
    this.familiennameBestandteil = familiennameBestandteil;
  }

  public String getOrdensname() {
    return ordensname;
  }

  public void setOrdensname(String ordensname) {
    this.ordensname = ordensname;
  }

  public String getSperrmerkmal() {
    return sperrmerkmal;
  }

  public void setSperrmerkmal(String sperrmerkmal) {
    this.sperrmerkmal = sperrmerkmal;
  }

  public String getStimmbezirksschluessel() {
    return stimmbezirksschluessel;
  }

  public void setStimmbezirksschluessel(String stimmbezirksschluessel) {
    this.stimmbezirksschluessel = stimmbezirksschluessel;
  }

  public String getWahlrechtsausschluss() {
    return wahlrechtsausschluss;
  }

  public void setWahlrechtsausschluss(String wahlrechtsausschluss) {
    this.wahlrechtsausschluss = wahlrechtsausschluss;
  }

  public Date getZuzugsdatumBund() {
    return zuzugsdatumBund;
  }

  public void setZuzugsdatumBund(Date zuzugsdatumBund) {
    this.zuzugsdatumBund = zuzugsdatumBund;
  }

  public Date getZuzugsdatumGemeinde() {
    return zuzugsdatumGemeinde;
  }

  public void setZuzugsdatumGemeinde(Date zuzugsdatumGemeinde) {
    this.zuzugsdatumGemeinde = zuzugsdatumGemeinde;
  }

  public Date getZuzugsdatumLand() {
    return zuzugsdatumLand;
  }

  public void setZuzugsdatumLand(Date zuzugsdatumLand) {
    this.zuzugsdatumLand = zuzugsdatumLand;
  }

  public Date getZuzugsdatumStadtbezirk() {
    return zuzugsdatumStadtbezirk;
  }

  public void setZuzugsdatumStadtbezirk(Date zuzugsdatumStadtbezirk) {
    this.zuzugsdatumStadtbezirk = zuzugsdatumStadtbezirk;
  }

  public Date getGeburtsdatum() {
    return geburtsdatum;
  }

  public void setGeburtsdatum(Date geburtsdatum) {
    this.geburtsdatum = geburtsdatum;
  }

  public String getGeburtsort() {
    return geburtsort;
  }

  public void setGeburtsort(String geburtsort) {
    this.geburtsort = geburtsort;
  }

  public String getGeschlecht() {
    return geschlecht;
  }

  public void setGeschlecht(String geschlecht) {
    this.geschlecht = geschlecht;
  }

  public String getOrdnungsmerkmal() {
    return ordnungsmerkmal;
  }

  public void setOrdnungsmerkmal(String ordnungsmerkmal) {
    this.ordnungsmerkmal = ordnungsmerkmal;
  }

  public String getExterneId() {
    return externeId;
  }

  public void setExterneId(String externeId) {
    this.externeId = externeId;
  }
}
