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

namespace Kufer\Web\KuferTools\Utils\DatamodulHelper\KursTage;

class RaumTermineKurstage extends KursTageHelper
{
  private $raumNr;

  public function __construct($toolSettings, $user, $raumNr)
  {
    parent::__construct($toolSettings, $user);
    $this->raumNr = $raumNr;
  }

  protected function getKurstageIds($dbwKurseTage)
  {
    return $dbwKurseTage->getOnlyIds(array($dbwKurseTage, 'getKurstagebyRaum'), array($this->raumNr));
  }

  protected function setzeFilter($dbwKurseTage, $pToolId)
  {
    list($vonDatum, $bisDatum) = self::getVonBisDatum($pToolId);
    $dbwKurseTage->fromobject->datum = $vonDatum;
    $dbwKurseTage->toobject->datum = $bisDatum;

    return $dbwKurseTage;
  }

  public static function getVonBisDatumDefault(): array
  {
    $vonDatumDefault = \DateTimeOperations::getFirstDayOfCurrentWeek();
    $bisDatumDefault = \DateTimeOperations::getNextDate($vonDatumDefault, 6);

    return array($vonDatumDefault, $bisDatumDefault);
  }

  public static function getVonBisDatum(int $pToolId): array
  {
    list($vonDatumDefault, $bisDatumDefault) = self::getVonBisDatumDefault();

    $vonDatum = \SessionOperations::getVarValueWTIntern('TerminDatumVon_' . $pToolId, $vonDatumDefault);
    $bisDatum = \SessionOperations::getVarValueWTIntern('TerminDatumBis_' . $pToolId, $bisDatumDefault);

    return array($vonDatum, $bisDatum);
  }

  public static function setVonBisDatum(int $pToolId, string $pVonDatum, string $pBisDatum): void
  {
    \SessionOperations::setVarValueWTIntern('TerminDatumVon_' . $pToolId, $pVonDatum);
    \SessionOperations::setVarValueWTIntern('TerminDatumBis_' . $pToolId, $pBisDatum);
  }
}