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

namespace Kufer\KuferTools\Teilnehmer\Anmeldung\KursUebersicht\ShowAnmeldeDialog;

class ShowAnmeldeDialogView extends \Kufer\KuferTools\Basis\View\ViewSight
{
  public function getTemplatePathRelative()
  {
    return 'teilnehmer/anmeldung/anmelde_dialog_neu.sgt';
  }

  protected function getDefaultDataModulArray()
  {
    $datamodul = new class() extends \Datamodul {
      public $kurs;
      public $teilnehmer;
      public $anmeldedaten;
    };

    $datamodul->kurs = $this->viewModel->kurs;
    $datamodul->teilnehmer = $this->viewModel->teilnehmer;
    $datamodul->anmeldedaten = $this->viewModel->anmeldedaten;

    return array($datamodul);
  }

  protected function getDefaultExportAdaper()
  {
    return new class() extends \ExpBasis {
      public function __construct()
      {
        parent::__construct(true);

        $this->export = new class() extends \ExportKursuebersicht {
          public function getVarValue($varname)
          {
            switch ($this->getVarCategory($varname)) {
              default:
                return parent::getVarValue($varname);
              case 'anmelde_':
                return $this->exportresults[$this->actualset]->anmeldedaten->getVarValue($this->getVarName($varname));
              case 't_':
                return $this->expCalculation->getVarValue4Teilnehmer($this->getVarName($varname), $this->exportresults[$this->actualset]->teilnehmer);
            }
          }

          public function getKurs()
          {
            return $this->exportresults[$this->actualset]->kurs;
          }
        };
      }
    };
  }
}

class ShowAnmeldeDialogViewModel
{
  public $kurs;
  public $teilnehmer;
  public $anmeldedaten;
}