/**
  * action werkstattAuswahl
  * 
  * @return void
  */
 public function werkstattAuswahlAction()
 {
     $this->view->assign('werkstattlistenUeberschrift', 'Suchergebnis');
     $this->view->setTemplatePathAndFilename(\TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName('typo3conf/ext/werkstattsuche/Resources/Private/Templates/Werkstatt/List.html'));
     $bezirke = $this->bezirkRepository->findAll();
     $this->view->assign('bezirke', $bezirke);
     $produkteDienstleistungens = $this->produkteDienstleistungenRepository->findAll();
     $this->view->assign('produkteDienstleistungens', $produkteDienstleistungens);
     // /** @var $logger \TYPO3\CMS\Core\Log\Logger */
     //$logger = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Log\\LogManager')->getLogger(__CLASS__);
     $bezirkArray = $this->request->getArgument('bezirk');
     $angebotArray = $this->request->getArgument('angebot');
     //$logger->info('werkstattAuswahlAction: Bezirke ', $bezirkArray);
     //$logger->info('werkstattAuswahlAction: Angebote', $angebotArray);
     /*
      * Validierung
      */
     $inputOk = true;
     if (is_array($bezirkArray) and is_array($angebotArray)) {
         foreach ($bezirkArray as $bezirkArrayId) {
             if (!is_numeric($bezirkArrayId)) {
                 $inputOk = false;
             } else {
                 $bezirkArrayId *= 1;
                 if (!is_int($bezirkArrayId)) {
                     $inputOk = false;
                 }
             }
         }
         foreach ($angebotArray as $angebotArrayId) {
             if (!is_numeric($angebotArrayId)) {
                 $inputOk = false;
             } else {
                 $angebotArrayId *= 1;
                 if (!is_int($angebotArrayId)) {
                     $inputOk = false;
                 }
             }
         }
     }
     if ($inputOk) {
         $bezirks = array();
         foreach ($bezirkArray as $bezirkArrayId) {
             $bezirk = $this->bezirkRepository->findByUid($bezirkArrayId);
             if (!is_null($bezirk)) {
                 $bezirks[] = $bezirk;
             }
         }
         $angebots = array();
         foreach ($angebotArray as $angebotArrayId) {
             $angebot = $this->produkteDienstleistungenRepository->findByUid($angebotArrayId);
             if (!is_null($angebot)) {
                 $angebots[] = $angebot;
             }
         }
         $werkstatts = array();
         //assuming, that there is small number of $werkstatts
         $werkstatts_all = $this->werkstattRepository->findAll();
         foreach ($werkstatts_all as $werkstatt) {
             //$x = array($werkstatts_all,$werkstatt);
             //$logger->info('werkstattAuswahlAction: $werkstatt ', $x);
             $angebot_found = false;
             $bezirk_found = false;
             foreach ($werkstatt->getProdukteDienstleistungen() as $angebot) {
                 if (in_array($angebot, $angebots)) {
                     $angebot_found = true;
                 }
             }
             foreach ($werkstatt->getBezirke() as $bezirk) {
                 if (in_array($bezirk, $bezirks)) {
                     $bezirk_found = true;
                 }
             }
             if (count($angebots) == 0 and count($bezirks) > 0) {
                 $angebot_found = true;
             }
             if (count($bezirks) == 0 and count($angebots) > 0) {
                 $bezirk_found = true;
             }
             if ($angebot_found and $bezirk_found) {
                 $werkstatts[] = $werkstatt;
             }
         }
         $this->view->assign('werkstatts', $werkstatts);
     } else {
         $werkstatts = $this->werkstattRepository->findAll();
         $this->view->assign('werkstatts', $werkstatts);
     }
 }
 /**
  * action category2produktlist
  *
  * @param \Fakturaberlin\Werkstattsuche\Domain\Model\ProduktKategorie $produktKategorie
  * @return void
  */
 public function category2produktlistAction(\Fakturaberlin\Werkstattsuche\Domain\Model\ProduktKategorie $produktKategorie)
 {
     $produkteDienstleistungens = $this->produkteDienstleistungenRepository->findByProduktkategorie($produktKategorie);
     $this->view->assign('produkteDienstleistungens', $produkteDienstleistungens);
     $this->view->assign('produktKategorie', $produktKategorie);
 }