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

namespace Kufer\KuferTools\Dozent\Kursplanung\TerminBearbeiten;

class TerminBearbeitenKursdatenAnpassenView extends \Kufer\KuferTools\Basis\View\ViewSight
{
  public function getTemplatePathRelative()
  {
    return 'dozent/kursplanung/kursdatenanpassen.sgt';
  }
  
  protected function getDefaultDataModulArray()
  {
    return array($this->viewModel->kurs);
  }
  
  protected function getDefaultExportAdaper()
  {
    return new \ExpKurse();
  }
  
  protected function getBodyDataModulArray()
  {
    return array_map(array($this, 'getDatamodul'), $this->viewModel->nichtPassendeKursdaten);
  }

  private function getDatamodul($item)
  {
    $dm = new \Datamodul();
    $dm->name = $item['name'];
    $dm->description = $this->getDescription4Name($item['name']);
    $dm->oldvalue = $item['oldvalue'];
    $dm->newvalue = $item['newvalue'];
    $dm->changeable = $item['changeable'];
    $dm->checked = $item['checked'];
    $dm->validation = $item['validation'];
    return $dm;
  }
  
  private function getDescription4Name($name)
  {
    switch($name) {
      default: '';
      case 'beginn_dat': return 'Kursbeginn';
      case 'ende_dat': return 'Kursende';
      case 'stundenanz': return 'Stundenanzahl';
      case 'beginn': return 'Beginn-Uhrzeit';
      case 'ende': return 'Ende-Uhrzeit';
      case 'dauer': return 'Kursdauer';
    }
  }
}

class TerminBearbeitenKursdatenAnpassenViewModel
{
  public $nichtPassendeKursdaten;
  public $kurs;
}