<?php
/**
 * @copyright (c) Kufer Software GmbH, Loisachstrasse 4, D-84453 Mühldorf
 */

namespace Kufer\KuferTools\Mitarbeiter\KursUebersicht\Detailsreiter\Teilnehmer\HandleBelegungBearbeiten;

class HandleBelegungBearbeitenController extends \Kufer\KuferTools\Basis\Controller\ToolController
{
  protected function getUseCase(): \Kufer\KuferTools\Basis\UseCase\UseCase
  {
    return new HandleBelegungBearbeitenUseCase(
      $this->getRequestObj()
    );
  }

  protected function getRequestObj()
  {
    $requestObj = new HandleBelegungBearbeitenRequest();
    $requestObj->belid = \GetOperations::getVarValue('belid');
    $requestObj->stornogrund = \PostOperations::getVarValue('stornogrund', '');
    $requestObj->austritt = \PostOperations::getVarValue('austritt', null);
    $requestObj->anmeldedatumNeuSetzen = \PostOperations::getVarValue('anmeldedatumNeuSetzen', false);

    $wssHandler = new \Kufer\KuferTools\Utils\WssHandler(HandleBelegungBearbeitenUseCase::getToolSectionId(), HandleBelegungBearbeitenUseCase::getUser());
    $requestObj->columnValues = $wssHandler->getColumnValuesFromPost();
    $requestObj->wssHandler = $wssHandler;
    $action = $this->getActionVal();

    return $this->handleXsrf($requestObj, $action, $requestObj->belid);
  }

  protected function getPresenter($pUseCaseResponse)
  {
    
    return null;
  }

  protected function getControllerToForward($pUseCaseResponse)
  {
    return new \Kufer\KuferTools\Mitarbeiter\KursUebersicht\Detailsreiter\Teilnehmer\TeilnehmerController(null, $pUseCaseResponse->statusMessage);
  }
}