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

namespace Kufer\Web\Classes\Anmeldung;


class BuchungsvorgangWEBBASysTerminAnfrage extends \Buchungsvorgang
{
  
  private $terminAnfrage;

  public function __construct($terminAnfrage)
  {
    parent::__construct();
    $this->terminAnfrage = $terminAnfrage;
  }

  public function _getToolSettings($pZentraleEinstellungen)
  {
    
    
    $bv = new \BuchungsvorgangWEBBASys();
    $sett = $bv->_getToolSettings($pZentraleEinstellungen);
    
    $sett->soforteinbuchen = false;

    return $sett;
  }

  public function createTNInfo()
  {
    $tn = $this->terminAnfrage->toTeilnehmerPflicht();
    $tn->origintype = 1;
    $tninfo = new \TNInfo($tn);
    $this->setTNInfo($tninfo);
  }

  public function setKurseBySession()
  {
    $dbkurse = \DBWorkKurse::getDefaultInstance();
    $tmpkurs = $dbkurse->getKurs($this->terminAnfrage->wunschknr);

    $kursinfo = new \KursInfo();
    $kursinfo->kursnummer = $this->terminAnfrage->wunschknr;
    $kursinfo->anzahl = 1;
    $kursinfo->kursgebuehr = \MathOperations::floatToString($tmpkurs->gebuehr);
    $kursinfo->status = $tmpkurs->emailstatus;
    $kursinfo->aussenstelle = $tmpkurs->aussenst;

    
    $anfrageVars = array('wunschdatvon', 'wunschdatbis', 'wunschuhrvon', 'wunschuhrbis',
    'wunschort', 'wunschknr', 'notizen');
    foreach ($anfrageVars as $anfrageVar) {
      $kursinfo->setValue2Var($anfrageVar, $this->terminAnfrage->getVarValue($anfrageVar));
    }

    $kursinfo = $this->setKurseBySessionKursHook($kursinfo); 

    $kursbuchung = new \KursBuchung();
    $kursbuchung->setKursInfo($kursinfo);
    $this->_kurse[] = $kursbuchung;
  }

  public function setBuchungsVars()
  {
    
    
    

    if ($this->_zentraleEinstellungen->savebak) {
      $bucher = new \BucherDMZBak($this->_zentraleEinstellungen);
    } else {
      $bucher = new \BucherDMZ($this->_zentraleEinstellungen);
    }
    for ($i = 0; $i < count($this->_kurse); $i++) {
      
      $this->_kurse[$i]->setBucher($bucher);
      $bestaetigung = new \TNBestASAbhaengigKeine();
      $this->_kurse[$i]->setTNBestaetigung($bestaetigung);
      $bestKopie = new \ASBestaetigungKeine();
      $this->_kurse[$i]->setBestaetigungKopie($bestKopie);
    }
  }
}