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

namespace Kufer\Web\KuferTools\Dozent\KursUebersicht\Detailsreiter\Termine\TerminBearbeiten;

use Kufer\Web\KuferTools\Utils\WssHandler;

class TerminBearbeitenAbsendenController extends \Kufer\Web\KuferTools\Basis\Kursdetails\Detailsreiter\Termine\TerminBearbeiten\TerminBearbeitenAbsendenController
{
  protected function getUseCase(): \Kufer\Web\KuferTools\Basis\UseCase\UseCase
  {
    return new TerminBearbeitenAbsendenUseCase(
      $this->getRequestObj()
    );
  }

  protected function getControllerToForward($pUseCaseResponse)
  {
    return new TerminBearbeitenNachAbsendenController($pUseCaseResponse->knr, $pUseCaseResponse->kurstag->id, $pUseCaseResponse->statusCode);
  }

  protected function getWssHandler(): WssHandler
  {
    return new WssHandler(
      TerminBearbeitenAbsendenUseCase::getToolId(),
      TerminBearbeitenAbsendenUseCase::getToolSectionId(),
      TerminBearbeitenAbsendenUseCase::getUser()
    );
  }
}