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

namespace Kufer\Web\KuferTools\Basis\Kursdetails\Detailsreiter\FeedbackBogen;

use Kufer\Web\KuferTools\Utils\Feedbackbogen\FeedbackHelper;

class SendeFeedbackFragenPresenter extends \Kufer\Web\KuferTools\Basis\Presenter\MitRahmenPresenter
{
  protected function getContent()
  {
    if ($this->useCaseResponse->statusCode == FeedbackHelper::FEEDBACKBOGEN_SEND_SUCCESS) {
      return parent::getContent();
    } else {
      $view = $this->getView();

      return $view->getNoColumn();
    }
  }

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

  protected function getViewModel()
  {
    $viewModel = new SendeFeedbackFragenViewModel();
    $viewModel->kurs = $this->useCaseResponse->kurs;
    $viewModel->statusMessage = $this->getMessageString();
    $viewModel->toolId = $this->useCaseResponse->toolId;
    $viewModel->backLink = $this->useCaseResponse->backLink;

    return $viewModel;
  }

  private function getMessageString()
  {
    if ($this->useCaseResponse->statusCode == FeedbackHelper::FEEDBACKBOGEN_SEND_SUCCESS) {
      return 'Der Feedbackbogen wurde gespeichert.';
    } elseif ($this->useCaseResponse->statusCode == FeedbackHelper::FEEDBACKBOGEN_SEND_ERROR) {
      return 'Beim Senden des Feedbackbogens ist ein Fehler aufgetreten. Ihre Antworten konnten nicht abgespeichert werden.';
    } elseif ($this->useCaseResponse->statusCode == FeedbackHelper::ERROR_BROWSER_REFRESH) {
      return 'Der Feedbackbogen ist bereits abgesendet worden und wird nicht erneut verschickt.';
    }
    

    return '';
  }

  protected function getSeitenTitel(): string
  {
    return 'Feedback zum Kurs ' . $this->useCaseResponse->kurs->id;
  }
}