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

namespace Kufer\Web\KuferTools\Firma\MitarbeiterUebersicht\MitarbeiterUebersicht;

class MitarbeiterUebersichtController extends \Kufer\Web\KuferTools\Basis\Controller\ToolController
{
  
  protected $successMessage;

  
  protected $errorMessage;

  public function __construct($successMessage = '', $errorMessage = '')
  {
    $this->successMessage = $successMessage;
    $this->errorMessage = $errorMessage;
  }

  protected function getUseCase(): \Kufer\Web\KuferTools\Basis\UseCase\UseCase
  {
    return new MitarbeiterUebersichtUseCase(
      $this->getRequestObj()
    );
  }

  protected function getRequestObj()
  {
    $request = new MitarbeiterUebersichtRequest();
    $request->successMessage = $this->successMessage;
    $request->errorMessage = $this->errorMessage;

    return $request;
  }

  protected function getPresenter($pUseCaseResponse)
  {
    if (\DBWorkBASysSettings::isBlak()) {
      return new MitarbeiterUebersichtPresenterBLAK($pUseCaseResponse);
    }

    return new MitarbeiterUebersichtPresenter($pUseCaseResponse);
  }
}