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

import java.io.Serializable;

import javax.enterprise.event.Event;
import javax.inject.Inject;

import de.ivu.elect.business.person.entity.Personendaten;
import de.ivu.elect.business.person.entity.PersonendatenPK;

/**
 * ELECT-10305
 */
public class NlListenkandidaturSynchronisierenEvent implements Serializable {

  private static final long serialVersionUID = 1L;

  @Inject
  private transient Event<NlListenkandidaturSynchronisierenEvent> event;

  private PersonendatenPK personendatenPK;

  private boolean kandidaturStatusSynchronisieren;

  private boolean positionenSynchronisieren;

  private boolean startePersonenregisterAbgleich;

  public NlListenkandidaturSynchronisierenEvent() {
  }

  public NlListenkandidaturSynchronisierenEvent(PersonendatenPK personendatenPK, boolean kandidaturStatusSynchronisieren, boolean positionenSynchronisieren, boolean startePersonenregisterAbgleich) {
    super();

    this.personendatenPK = personendatenPK;
    this.kandidaturStatusSynchronisieren = kandidaturStatusSynchronisieren;
    this.positionenSynchronisieren = positionenSynchronisieren;
    this.startePersonenregisterAbgleich = startePersonenregisterAbgleich;
  }

  public void sendeSynchronisierenEvent(Personendaten personendaten, boolean kandidaturStatusSynchronisieren, boolean positionenSynchronisieren, boolean startePersonenregisterAbgleich) {
    event.fire(new NlListenkandidaturSynchronisierenEvent(personendaten.getPk(), kandidaturStatusSynchronisieren, positionenSynchronisieren, startePersonenregisterAbgleich));
  }

  public PersonendatenPK getPersonendatenPK() {
    return personendatenPK;
  }

  public boolean isKandidaturStatusSynchronisieren() {
    return kandidaturStatusSynchronisieren;
  }

  public boolean isPositionenSynchronisieren() {
    return positionenSynchronisieren;
  }

  public boolean isStartePersonenregisterAbgleich() {
    return startePersonenregisterAbgleich;
  }
}
