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

namespace Kufer\Web\KuferTools\Firma\BayerischerApothekertag\HandleAnmeldung;

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

    return $this->getAnderenContentAlsBody($this->useCaseResponse->kurse);
  }

  protected function getAnderenContent($datamodul, $key): string
  {
    return '';
  }

  protected function getTN($index, $datamodul)
  {
    $viewModel = new WeitereTeilnehmerViewModel();
    $viewModel->index = $index;
    $viewModel->weitereTN = $datamodul;
    $kursView = new WeitereTeilnehmerView($viewModel);

    return $kursView->getBody();
  }

  protected function getWeitereTeilnehmer($datamodulArray)
  {
    $result = '';
    $view = new WeitereTeilnehmerView(null);
    if (!$this->isDatamodulAryEmpty($datamodulArray)) {
      $result .= $view->getHeader();
      foreach ($datamodulArray as $key => $datamodul) {
        $result .= $this->getTN($key, $datamodul);
      }
    } else {
      $result .= $view->getNoData();
    }

    return $result;
  }

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

  protected function getViewModel()
  {
    $viewModel = new HandleAnmeldungViewModel();
    $viewModel->tndata = $this->useCaseResponse->tndata;
    $viewModel->agb = $this->useCaseResponse->agb;

    return $viewModel;
  }
}