<?php
/**
 * @copyright (c) Kufer Software GmbH, Oderstraße 7, D-84453 Mühldorf
 */


namespace Kufer\Web\KuferTools\Veranstalter\KursUebersicht\Detailsreiter\Honorar\DozentenVertrag;

use Kufer\Web\KuferTools\Utils\Hinterlegungen\HinterlegungJsHelper;

class DozVertragDialogPresenter extends \Kufer\Web\KuferTools\Basis\Presenter\JsonPresenter
{
  
  public function present()
  {
    $view = $this->getView();

    return \JsonOperations::encode4Ajax($this->getAjaxObject($view));
  }

  
  public function getAjaxObject($pView): \stdClass
  {
    $result = new \stdClass();
    $result->inhalt = $pView->show(); 
    $result->title = $this->getAjaxDialogTitle();

    return $result;
  }

  protected function getAjaxDialogTitle(): string
  {
    
    return 'Vertragsvereinbarungen für ' . $this->useCaseResponse->dozhonorar->dozent->namevorname;
  }

  protected function getView()
  {
    return new DozVertragDialogView($this->getViewModel());
  }

  protected function getViewModel()
  {
    $viewModel = new DozVertragDialogViewModel();
    
    
    
    $viewModel->dozhonorar = $this->useCaseResponse->dozhonorar;

    
    $viewModel->dozhonorar->vertragstageChecked = '';
    $viewModel->dozhonorar->vertrdruckChecked = '';
    $viewModel->dozhonorar->internesHonChecked = '';
    if ($viewModel->dozhonorar->vertragstage) {
      $viewModel->dozhonorar->vertragstageChecked = 'checked="checked"';
    }
    if ($viewModel->dozhonorar->vertrdruck) {
      $viewModel->dozhonorar->vertrdruckChecked = 'checked="checked"';
    }

    if ($viewModel->dozhonorar->internes_hon) {
      $viewModel->dozhonorar->internesHonChecked = 'checked="checked"';
    }

    
    
    $viewModel->dozhonorar->dozTypButtonScript = $this->getHlDozTypDialogJs($this->useCaseResponse->jsonHlDozTyp);
    $viewModel->dozhonorar->benutzerButtonScript = $this->getHlBenutzerDialogJs($this->useCaseResponse->jsonHlBenutzer);

    return $viewModel;
  }

  private function getHlDozTypDialogJs($pJsonHlDozTyp)
  {
    $targetIdAry = array('dozVertrag_dozTyp');
    $buttonId = 'hlDozTyp';
    $titel = 'Dozenten Typ';

    return HinterlegungJsHelper::getHlDialogMultiColumnScript($pJsonHlDozTyp, $targetIdAry, $buttonId, $titel);
  }

  private function getHlBenutzerDialogJs($pJsonHlBenutzer)
  {
    $targetIdAry = array('dozVertrag_bearbeiter');
    $buttonId = 'hlBenutzer';
    $titel = 'Bearbeiter';

    return HinterlegungJsHelper::getHlDialogMultiColumnScript($pJsonHlBenutzer, $targetIdAry, $buttonId, $titel);
  }
}