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

namespace Kufer\KuferTools\Mitarbeiter\KursUebersicht\Raumplanung;

class RaumplanungPresenter extends \Kufer\KuferTools\Basis\Presenter\MitRahmenPresenter
{
  protected function getView()
  {
    return new RaumplanungView($this->getViewModel());
  }

  protected function getViewModel()
  {
    $viewModel = new RaumplanungViewModel();
    $viewModel->kurs = $this->useCaseResponse->kurs;

    $viewModel->anfangsdatum = $this->useCaseResponse->anfangsdatum;

    $viewModel->rhythmusWoechentlichChecked = $this->useCaseResponse->rhythmusWoechentlich ? \HTMLOperations::getEmptyAttribute('checked') : '';
    $viewModel->rhythmusAlle14TageChecked = $this->useCaseResponse->rhythmusAlle14Tage ? \HTMLOperations::getEmptyAttribute('checked') : '';
    $viewModel->rhythmusMonatlichChecked = $this->useCaseResponse->rhythmusMonatlich ? \HTMLOperations::getEmptyAttribute('checked') : '';

    $viewModel->wochentageMontagChecked = $this->useCaseResponse->wochentageMontag ? \HTMLOperations::getEmptyAttribute('checked') : '';
    $viewModel->wochentageDienstagChecked = $this->useCaseResponse->wochentageDienstag ? \HTMLOperations::getEmptyAttribute('checked') : '';
    $viewModel->wochentageMittwochChecked = $this->useCaseResponse->wochentageMittwoch ? \HTMLOperations::getEmptyAttribute('checked') : '';
    $viewModel->wochentageDonnerstagChecked = $this->useCaseResponse->wochentageDonnerstag ? \HTMLOperations::getEmptyAttribute('checked') : '';
    $viewModel->wochentageFreitagChecked = $this->useCaseResponse->wochentageFreitag ? \HTMLOperations::getEmptyAttribute('checked') : '';
    $viewModel->wochentageSamstagChecked = $this->useCaseResponse->wochentageSamstag ? \HTMLOperations::getEmptyAttribute('checked') : '';
    $viewModel->wochentageSonntagChecked = $this->useCaseResponse->wochentageSonntag ? \HTMLOperations::getEmptyAttribute('checked') : '';

    $viewModel->anzahlTermine = $this->useCaseResponse->anzahlTermine;
    $viewModel->checkDoppelbelegungChecked = $this->useCaseResponse->checkDoppelbelegung ? \HTMLOperations::getEmptyAttribute('checked') : '';
    $viewModel->checkSperrzeitenChecked = $this->useCaseResponse->checkSperrzeiten ? \HTMLOperations::getEmptyAttribute('checked') : '';

    $viewModel->ktUhrzeitVon = $this->useCaseResponse->ktUhrzeitVon;
    $viewModel->ktUhrzeitBis = $this->useCaseResponse->ktUhrzeitBis;
    $viewModel->ktPause = $this->useCaseResponse->ktPause;
    $viewModel->ktOrt = $this->useCaseResponse->ktOrt;
    $viewModel->ktDnr = $this->useCaseResponse->ktDnr;
    $viewModel->ktBemerkung = $this->useCaseResponse->ktBemerkung;
    $viewModel->ktBestuhlung = $this->useCaseResponse->ktBestuhlung;

    $viewModel->dozentenOptionen = $this->getSelectOptionen($this->useCaseResponse->dozentenComboboxOptionen);
    $viewModel->hinterlegungUhrzeitenMitPause = $this->useCaseResponse->hinterlegungUhrzeitenMitPause;
    $viewModel->hinterlegungBestuhlung = $this->useCaseResponse->hinterlegungBestuhlung;

    return $viewModel;
  }

  
  protected function getSelectOptionen($pComboboxOptionen)
  {
    $result = '';
    foreach ($pComboboxOptionen as $comboboxOption) {
      $selected = $comboboxOption->isSelected ? ' selected="selected"' : '';
      $result .= '<option value="' . $comboboxOption->value . '"' . $selected . '>' . $comboboxOption->text . '</option>';
    }

    return $result;
  }

  protected function getJsFilesSrcAryWeitere()
  {
    return array($this->getJsFileFromSys('doz_kursplanung.js'));
  }
}