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

namespace Kufer\KuferTools\Dozent\KursUebersicht\Detailsreiter\Honorar\VertragAkzeptieren;

class VertragAkzeptierenController  extends \Kufer\KuferTools\Basis\Controller\ToolController
{
  protected function getUseCase()
  {
    return new VertragAkzeptierenUseCase(
            $this->getRequestObj()
    );
  }
  
  protected function getRequestObj()
  {
    $requestObj = new VertragAkzeptierenRequest();
    $requestObj->knr = \GetOperations::getVarValue('knr');
    return $requestObj;
  }
  
  function getPresenter($pUseCaseResponse)
  {
    return null;
  }
  
  protected function getControllerToForward($pUseCaseResponse)
  {
    
    if($pUseCaseResponse->statusCode == VertragAkzeptierenUseCase::SUCCESS_VERTRAG_ERFOLGREICH_AKZEPTIERT) {
      $statusCodeAndMessage = array('process'=>UPLOAD_OK, 'message'=>'Der Vertrag wurde erfolgreich akzeptiert.');
    } else if ($pUseCaseResponse->statusCode == VertragAkzeptierenUseCase::ERROR_ALLGEMEINER_FEHLER) {
      $statusCodeAndMessage = array('process'=>UPLOAD_NOT_OK, 'message'=>'Beim Akzeptieren des Vertrags ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.');
    } else {
      $statusCodeAndMessage = array('process'=>NO_UPLOAD, 'message'=>'');
    }
    $statusMessageContainer = new \Kufer\KuferTools\Utils\StatusMessages\StatusMessageContainer();
    $statusMessageContainer->addStatusMessageByOldObject($statusCodeAndMessage);
    return new \Kufer\KuferTools\Dozent\KursUebersicht\KursDetails\KursDetailsExternController($pUseCaseResponse->knr, $statusMessageContainer);
  }
}