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

namespace Kufer\Web\KuferTools\Teilnehmer\KursUebersicht\Detailsreiter\Storno;

class StornoPresenter extends \Kufer\Web\KuferTools\Basis\Presenter\MitRahmenPresenter
{
  protected function getContent()
  {
    $view = $this->getView();
    if (!$this->useCaseResponse->stornoMoeglich) {
      return $view->getNoData();
    }

    return parent::getContent();
  }

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

  protected function getViewModel()
  {
    $viewModel = new StornoViewModel();
    $viewModel->kurs = $this->useCaseResponse->kurs;
    $viewModel->kurs->toolId = $this->useCaseResponse->toolId;
    $viewModel->kurs->belegId = $this->useCaseResponse->belegId;
    $viewModel->kurs->name = $this->useCaseResponse->user->getVarValue('name');
    $viewModel->kurs->vorname = $this->useCaseResponse->user->getVarValue('vorname');

    $viewModel->kursArtikelDativ = $this->useCaseResponse->sprachSettings->Kurs['Singular_mit_Artikel']['Dativ'];
    $viewModel->kursArtikelAkkusativ = $this->useCaseResponse->sprachSettings->Kurs['Singular_mit_Artikel']['Akkusativ'];
    $viewModel->AGBLink = $this->useCaseResponse->agb;
    $viewModel->showStornoGrund = $this->useCaseResponse->showStornoGrund;
    $viewModel->stornoWirdScheitern = $this->useCaseResponse->stornoWirdScheitern;
    $viewModel->stornoWirdScheiternGrund = $this->useCaseResponse->stornoWirdScheiternGrund;

    $viewModel->stornogrund = $this->useCaseResponse->stornogrund;
    $viewModel->vhsname = $this->useCaseResponse->vhsname;
    $viewModel->stornoGescheitert = $this->useCaseResponse->stornoGescheitert;
    $viewModel->stornoHinterlegungen = $this->useCaseResponse->stornoHinterlegungen;

    return $viewModel;
  }

  protected function getJsFilesSrcAryWeitere(): array
  {
    return array(
      $this->getJsFileFromOldTools('Formulare/kontakte.js'),
      $this->getJsFileFromSys('kontaktformular.js')
    );
  }

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