
package de.ivu.elect.business.wahlvorschlagsperson.control;

import java.io.Serializable;

import de.ivu.elect.business.anschrift.entity.Anschrift;
import de.ivu.elect.business.wahlvorschlagsperson.entity.WahlvorschlagsPerson;

public class WahlvorschlagsPersonPoolPersonendatenMapper implements Serializable {

  private static final long serialVersionUID = 1L;

  public WahlvorschlagsPersonPoolPersonendatenMapper() {
    super();
  }

  public void map(WahlvorschlagsPerson wahlvorschlagsPerson, WahlvorschlagsPerson template) {
    // NOTE, dass nicht pauschal alle Attribute (bspw. die ID) übernommen werden dürfen!
    wahlvorschlagsPerson.setAkademischerGradUnformatiert(template.getAkademischerGradUnformatiert());
    wahlvorschlagsPerson.setAnrede(template.getAnrede());
    wahlvorschlagsPerson.setAuswaertig(template.getAuswaertig());
    wahlvorschlagsPerson.setCustomDataXml(template.getCustomDataXml());
    wahlvorschlagsPerson.setEmailAdresse(template.getEmailAdresse());
    wahlvorschlagsPerson.setEmailAdresseArbeit(template.getEmailAdresseArbeit());
    wahlvorschlagsPerson.setOrdnungsmerkmal(template.getOrdnungsmerkmal());
    wahlvorschlagsPerson.setFamilienname(template.getFamilienname());
    wahlvorschlagsPerson.setFamiliennameBestandteil(template.getFamiliennameBestandteil());
    wahlvorschlagsPerson.setFaxnummer(template.getFaxnummer());
    wahlvorschlagsPerson.setGeburtsdatum(template.getGeburtsdatum());
    wahlvorschlagsPerson.setGeschlecht(template.getGeschlecht());
    wahlvorschlagsPerson.setPersonenregisterAbgleichStatus(template.getPersonenregisterAbgleichStatus());
    wahlvorschlagsPerson.setPersonenregisterAbgleichZeitpunkt(template.getPersonenregisterAbgleichZeitpunkt());
    wahlvorschlagsPerson.setPersonStatus(template.getPersonStatus());
    wahlvorschlagsPerson.setSperrmerkmal(template.getSperrmerkmal());
    wahlvorschlagsPerson.setStaatsangehoerigkeitenSorted(template.getStaatsangehoerigkeitenSorted());
    wahlvorschlagsPerson.setStimmbezirkSchluessel(template.getStimmbezirkSchluessel());
    wahlvorschlagsPerson.setTelefonnummerArbeit(template.getTelefonnummerArbeit());
    wahlvorschlagsPerson.setTelefonnummerFestnetz(template.getTelefonnummerFestnetz());
    wahlvorschlagsPerson.setTelefonnummerMobil(template.getTelefonnummerMobil());
    wahlvorschlagsPerson.setTitel(template.getTitel());
    wahlvorschlagsPerson.setRufname(template.getRufname());
    wahlvorschlagsPerson.setVornamen(template.getVornamen());
    wahlvorschlagsPerson.setWahlrechtsausschluss(template.getWahlrechtsausschluss());
    wahlvorschlagsPerson.setZuzugsdatumBund(template.getZuzugsdatumBund());
    wahlvorschlagsPerson.setZuzugsdatumLand(template.getZuzugsdatumLand());
    wahlvorschlagsPerson.setZuzugsdatumGemeinde(template.getZuzugsdatumGemeinde());
    wahlvorschlagsPerson.setZuzugsdatumStadtbezirk(template.getZuzugsdatumStadtbezirk());

    Anschrift wahlvorschlagsPersonAnschrift = wahlvorschlagsPerson.getAnschrift();
    Anschrift templateAnschrift = template.getAnschrift();

    wahlvorschlagsPersonAnschrift.setAnschriftArt(templateAnschrift.getAnschriftArt());
    wahlvorschlagsPersonAnschrift.setCustomDataXml(templateAnschrift.getCustomDataXml());
    wahlvorschlagsPersonAnschrift.setHausnummer(templateAnschrift.getHausnummer());
    wahlvorschlagsPersonAnschrift.setHausnummerzusatz(templateAnschrift.getHausnummerzusatz());
    wahlvorschlagsPersonAnschrift.setOrt(templateAnschrift.getOrt());
    wahlvorschlagsPersonAnschrift.setOrtsteil(templateAnschrift.getOrtsteil());
    wahlvorschlagsPersonAnschrift.setPlz(templateAnschrift.getPlz());
    wahlvorschlagsPersonAnschrift.setStrasse(templateAnschrift.getStrasse());
    wahlvorschlagsPersonAnschrift.setWohnungsnummer(templateAnschrift.getWohnungsnummer());
    wahlvorschlagsPersonAnschrift.setZustellanweisung(templateAnschrift.getZustellanweisung());
  }
}
