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

namespace Kufer\Web\KuferTools\Basis\Kursdetails\Detailsreiter\Teilnehmer\SammelEinzelBearbeitung;

abstract class SammelEinzelBearbeitungFormularController extends \Kufer\Web\KuferTools\Basis\Controller\Controller
{
  
  protected $status;

  
  protected $belegungen;

  public function __construct(int $status = HandleSammelEinzelBearbeitungUseCase::STATUS_UNKNOWN, ?array $belegungen = null)
  {
    $this->status = $status;
    $this->belegungen = $belegungen;
  }

  protected function getNewRequestObj(): SammelEinzelBearbeitungFormularRequest
  {
    return new SammelEinzelBearbeitungFormularRequest();
  }

  protected function getRequestObj()
  {
    $request = $this->getNewRequestObj();
    $request->knr = \GetOperations::getVarValue('knr');
    $request->belids = \RequestOperations::getVarValue('belids', array());
    $request->status = $this->status;
    $request->belegungen = $this->belegungen;

    return $request;
  }

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