package de.ivu.elect.business.wahl.boundary;

import javax.enterprise.inject.Specializes;
import javax.inject.Inject;

import de.ivu.elect.business.wahl.entity.Wahl;

@Specializes
public class ElectCoreWahlSessionSelect extends ElectCommonWahlSessionSelect {

  @Inject
  protected transient WahlterminSessionStore wahlterminSessionStore;

  @Override
  protected void setEntityAttached(Wahl entity) {
    // Ursache von ELECT-7966
    // Wahltermin nicht gesetzt, so dass kein Mandant gefunden wurde
    // => in Core (WUS/WAS):
    //  -wenn Wahl gesetzt wird=>Wahltermin setzen
    //  -wenn Wahl gelöscht wird =>Wahltermin löschen
    // keine Change-Events(!) (Verhalten wie bisher)
    if (entity == null) {
      wahlterminSessionStore.setEntityPK(null);
    } else {
      wahlterminSessionStore.setEntityPK(entity.getWahltermin().getPk());
    }
    super.setEntityAttached(entity);
  }
}
