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

namespace Kufer\KuferTools\Dozent\KursUebersicht\PdfListen\GrafikListen\PrintGrafikListen;


class PrintGrafikListenBySettingsController extends \Kufer\KuferTools\Basis\PdfListen\PrintPdfListen\PrintPdfListenBySettingsController
{
  
  protected function getUseCase(): \Kufer\KuferTools\Basis\UseCase\UseCase
  {
    return new PrintGrafikListenBySettingsUseCase(
      $this->getRequestObj()
    );
  }

  protected function getToolId()
  {
    return PrintGrafikListenBySettingsUseCase::getToolId();
  }

  

  
  protected function _getPostSettings()
  {
    $settingsObj = parent::_getPostSettings();

    
    
    
    
    
    
    

    
    

    if (\PostOperations::isDefined('zeit_von')) {
      $settingsObj->zeitbereich->zeitvon = \PostOperations::getVarValue('zeit_von');
    }

    if (\PostOperations::isDefined('zeit_bis')) {
      $settingsObj->zeitbereich->zeitbis = \PostOperations::getVarValue('zeit_bis');
    }

    if (\PostOperations::isDefined('zeitspanne')) {
      $settingsObj->zeitbereich->zeitspanne = \PostOperations::getVarValue('zeitspanne');
    }

    
    if (\PostOperations::isDefined('kwjahr')) {
      $settingsObj->kalenderwoche->kwjahr = \PostOperations::getVarValue('kwjahr');
    }
    if (\PostOperations::isDefined('kwmonat')) {
      $settingsObj->kalenderwoche->kwmonat = \PostOperations::getVarValue('kwmonat');
    }
    if (\PostOperations::isDefined('kwnr')) {
      $settingsObj->kalenderwoche->kwnr = \PostOperations::getVarValue('kwnr');
    }
    if (\PostOperations::isDefined('auswahl')) {
      $settingsObj->kalenderwoche->auswahl = \PostOperations::getVarValue('auswahl');
    }


    
    $vars = get_object_vars($settingsObj->wochentage);
    foreach ($vars as $name => $wert) {
      $settingsObj->wochentage->{$name} = \PostOperations::isDefined("wotag_$name");
    } 

    
    for ($i = 1;$i <= 10;$i++) {
      
      $settingsObj->zeitpunkte->zeitab[$i] = \PostOperations::getVarValue('selectzeitab' . $i);
    }

    return $settingsObj;
  }

  
  protected function _getDruckSettingsObject()
  {
    return new \webtools\drucklisten\DruckGrafikSettings();
  }
}