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

namespace Kufer\KuferTools\Firma\Anmeldung\HandleAnmeldung;

class HandleAnmeldungController extends \Kufer\KuferTools\Basis\Anmeldung\KursUebersicht\HandleAnmeldung\HandleAnmeldungController
{
  protected function getUseCase(): \Kufer\KuferTools\Basis\UseCase\UseCase
  {
    return new HandleAnmeldungUseCase(
      $this->getRequestObj()
    );
  }

  protected function getRequestObj()
  {
    $requestObj = parent::getRequestObj();
    $requestObj->guthaben_verwenden = \PostOperations::isDefined('guthaben_verwenden');
    $requestObj->anzahl_mitarbeiter = \PostOperations::getVarValue('anzahl_mitarbeiter');
    $requestObj->blakzertifkatsbstg = \PostOperations::isDefined('blakzertifkatsbstg');

    $ausnahmeKeinNeuerTeilnehmer = \DBWorkBASysSettings::isBadMergentheimFabi();

    $requestObj->mitarbeiter = array();
    for ($i = 1; $i <= $requestObj->anzahl_mitarbeiter; $i++) {
      $mitarbeiter = new \stdClass();
      $mitarbeiter->name = \PostOperations::getVarValue('name_' . $i);
      $mitarbeiter->vorname = \PostOperations::getVarValue('vorname_' . $i);
      $mitarbeiter->tel = \PostOperations::getVarValue('telefon_' . $i);
      $mitarbeiter->email = \PostOperations::getVarValue('email_' . $i);
      $mitarbeiter->tnr = \PostOperations::getVarValue('tnr_' . $i);
      $mitarbeiter->kennz = \PostOperations::getVarValue('kennz_' . $i);
      $mitarbeiter->geschlecht = \PostOperations::getVarValue('geschlecht_' . $i);
      $mitarbeiter->name_titel = \PostOperations::getVarValue('anredetitel_' . $i);
      $mitarbeiter->gebdat = \PostOperations::getVarValue('gebdat_' . $i);

      if (!$ausnahmeKeinNeuerTeilnehmer || $mitarbeiter->tnr !== '') {
        $requestObj->mitarbeiter[$i] = $mitarbeiter;
      }
    }

    return $requestObj;
  }

  protected function getPresenter($pUseCaseResponse)
  {
    return new HandleAnmeldungPresenter($pUseCaseResponse);
  }
}