package de.ivu.elect.presentation.ergebniskonflikt.menu;

import de.ivu.elect.business.ergebniskonflikt.entity.ErgebnisKonflikt;
import de.ivu.elect.business.sitzberechnung.entity.OsvLegacyKonfliktCustomData;
import de.ivu.elect.presentation.View;
import de.ivu.elect.presentation.ergebniskonflikt.ErgebnisKonfliktLosoptionenAuswaehlenView;

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

@Specializes
public class NlWasAlleErgebnisKonflikteIrgendwieLoesenDeveloperMenuItemEntry extends AlleErgebnisKonflikteIrgendwieLoesenDeveloperMenuItemEntry {


  @View
  @Inject
  private transient ErgebnisKonfliktLosoptionenAuswaehlenView ergebnisKonfliktLosoptionenAuswaehlenView;


  @Override
  protected void loeseKonflikt(ErgebnisKonflikt ergebnisKonflikt) {
    ergebnisKonfliktLosoptionenAuswaehlenView.setEntity(ergebnisKonflikt);
    OsvLegacyKonfliktCustomData customData = ergebnisKonflikt.getCustomData(OsvLegacyKonfliktCustomData.class);
    customData.loeseKonfliktAutomatisch();
    ergebnisKonfliktLosoptionenAuswaehlenView.save();

    // zurücksetzen -- ohne das setEntity() kommt eine Exception
    ergebnisKonfliktLosoptionenAuswaehlenView.setEntity(ergebnisKonflikt);
    ergebnisKonfliktLosoptionenAuswaehlenView.reset();
  }


}
