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

namespace Kufer\KuferTools\Teilnehmer\BayerischerApothekertag\Detailsreiter\KursDetails;


class KursDetailsUseCase extends \Kufer\KuferTools\Basis\Kursdetails\DetailsReiter\KursDetails\KursDetailsUseCase
{
  private $apotag;

  public function __construct($request)
  {
    parent::__construct($request);
    $this->apotag = new \Kufer\KuferTools\Teilnehmer\BayerischerApothekertag\Utils\Apothekertag();
  }

  public function getAllowedKursnummern()
  {
    return $this->apotag->getAlleIds();
  }

  public static function getToolId()
  {
    return \ToolsAPI::TOOL_ANMELDUNGBUCHEN_TN;
  }

  public static function getToolSectionId()
  {
    return 95;
  }

  public function hasAccess($pToolSectionId = null)
  {
    if (!parent::hasAccess(337)) {
      return false;
    }
    if (!$this->isRechtAllowed('337.1.1')) {
      return false;
    }

    return true;
  }

  public function getKurs($knr)
  {
    $kurs = parent::getKurs($knr);

    return $this->aktualisiereKursPerDmz($kurs);
  }

  private function aktualisiereKursPerDmz($pKurs)
  {
    $isDmzBetrieb = \SessionOperations::isDmzBetrieb();
    $isSettingOk = $this->toolSettings->kursePerDmzAktualisieren;
    if ($isDmzBetrieb && $isSettingOk) {
      try {
        $pKurs = \AnmeldeAPI::updateKursData($pKurs);
      } catch (\Exception $e) {
        
      }
    }

    return $pKurs;
  }
}