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

namespace Kufer\Web\KuferTools\Mitarbeiter\Anmeldung\FirmaDialog;

class FirmaDialogUseCase extends \Kufer\Web\KuferTools\Basis\UseCase\ToolUseCase
{
  public function __construct($request)
  {
    parent::__construct($request, new FirmaDialogResponse());
  }

  public static function getToolSectionId()
  {
    return 21;
  }

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

  public function action()
  {
    return $this->getResponse();
  }

  private function getKurs()
  {
    $knr = \SessionOperations::getVarValueWTIntern('anmeldung_knr', -1);
    $dbwKurse = new \DBWorkKurse(1, true);
    if ($knr != -1) {
      return $dbwKurse->getKurs($knr, true);
    } else {
      return $dbwKurse->getNewObject();
    }
  }

  private function getTeilnehmerfrei()
  {
    $kurs = $this->getKurs();
    $teil_frei = $kurs->getVarValue('teil_frei');
    if ($teil_frei < 0) {
      $teil_frei = 0;
    }

    return $teil_frei;
  }

  private function isFormReadonly()
  {
    return \SessionOperations::getVarValueWTIntern('AnmeldungReadonly_' . $this->getToolId()) == 1;
  }

  protected function getResponse()
  {
    $this->response->geschlechtAuswahl = \ComboboxAPI::getGeschlechtAuswahl('');
    $this->response->teilfrei = $this->getTeilnehmerfrei();
    $this->response->readonly = $this->isFormReadonly();

    return $this->response;
  }
}

class FirmaDialogRequest
{
}

class FirmaDialogResponse extends \Kufer\Web\KuferTools\Basis\UseCase\ToolResponse
{
  public $geschlechtAuswahl;
  public $teilfrei;
}