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

namespace Kufer\Web\KuferTools\Hausmeister\Raumreservierung;

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

  protected function getViewModel()
  {
    $viewModel = new RaumreservierungViewModel();
    $viewModel->raumOptions = $this->getRaumOptions($this->useCaseResponse->raeume);
    $viewModel->ansprechOptions = $this->getAnsprechOptions($this->useCaseResponse->ansprechpartnerAry);
    $viewModel->absender = $this->useCaseResponse->absender;

    return $viewModel;
  }

  private function getRaumOptions($raeume)
  {
    $raumOptions = '';
    foreach ($raeume as $raum) {
      
      $raumOptions .= '<option class="' . \CleanOperations::cleanStringForHtml($raum->aussenstelle) . '" value="' . \CleanOperations::cleanStringForHtml($raum->id) . '">' . \CleanOperations::cleanStringForHtml($raum->mktext) . '</option>';
    }

    return $raumOptions;
  }

  private function getAnsprechOptions($ansprechpartnerAry)
  {
    if (\is_null($ansprechpartnerAry)) {
      return '';
    }

    $ansprechOption = '';
    foreach ($ansprechpartnerAry as $key => $ansprechpartner) {
      $ansprechOption .= '<option value="' . \CleanOperations::cleanStringForHtml($key) . '" class="' . \CleanOperations::cleanStringForHtml($ansprechpartner->aussenstellenBezeichnung) . '">' . \CleanOperations::cleanStringForHtml($ansprechpartner->name) . ' (' . \CleanOperations::cleanStringForHtml($ansprechpartner->aussenstellenBezeichnung) . ')</option>';
    }

    return $ansprechOption;
  }

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