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

namespace Kufer\Web\KuferTools\Mitarbeiter\DozentenInfo\DozentDetails;

use Kufer\Web\KuferTools\Mitarbeiter\DozentenInfo\NewDozent\HandleDozentInsert\HandleDozentInsertUseCase as HandleDozentInsertUseCase;

class DozentDetailsPresenter extends \Kufer\Web\KuferTools\Basis\DozentenInfo\DozentDetails\DozentDetailsPresenter
{
  protected function getView()
  {
    return new DozentDetailsView($this->getViewModel());
  }

  protected function getReiter()
  {
    $viewModel = new ReiterViewModel();
    $viewModel->dozent = $this->useCaseResponse->dozent;
    $reiterAry = $this->useCaseResponse->reiter;
    $viewModel->reiter = $reiterAry;
    $view = new ReiterView($viewModel);

    return $view->show();
  }

  protected function getNewDozentMsgSuccess($allgSettings)
  {
    if ($this->useCaseResponse->newDozStatusMsg == HandleDozentInsertUseCase::SUCCESS_DOZENT_ERFOLGREICH_UEBERMITTELT) {
      return $allgSettings->successMsgDozentNeu;
    }

    return '';
  }

  protected function getNewDozentMsgInfo($allgSettings)
  {
    if ($this->useCaseResponse->newDozStatusMsg == HandleDozentInsertUseCase::INFO_DOZENTDATEN_NICHT_VERAENDERT) {
      return $allgSettings->failMsgChangeDozent;
    }

    return '';
  }

  
  protected function getNewDozentMsgFehler($allgSettings)
  {
    if ($this->useCaseResponse->newDozStatusMsg == HandleDozentInsertUseCase::ERROR_UEBERTRAGUNG_FEHLGESCHLAGEN) {
      return 'Fehler: ' . $allgSettings->failSubmitMsgDozent;
    }
    if ($this->useCaseResponse->newDozStatusMsg == HandleDozentInsertUseCase::ERROR_DOZENT_NICHT_ANGELEGT) {
      return 'Fehler: ' . $allgSettings->failMsgDozentNeu;
    }
    if ($this->useCaseResponse->newDozStatusMsg == HandleDozentInsertUseCase::ERROR_DOZENTDATEN_NICHT_AKTUELL) {
      return 'Fehler: ' . $allgSettings->failSubmitMsgConflict;
    }
    if ($this->useCaseResponse->newDozStatusMsg == HandleDozentInsertUseCase::ERROR_DOPPELT_AUFGERUFEN) {
      return $allgSettings->failMsgAlreadySubmitted;
    }
    if ($this->useCaseResponse->newDozStatusMsg == HandleDozentInsertUseCase::ERROR_DOZENTDATEN_FEHLERHAFT) {
      return \Kufer\Web\KuferTools\Utils\WssHandler::getErrorMessage($this->useCaseResponse->newDozWrongFields);
    }

    return '';
  }
}