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

namespace Kufer\Web\KuferTools\Dozent\SammelVertraege\Akzeptieren\Absenden;

use Kufer\Web\Classes\Datamodul\SammelvertragDatDoc;
use Kufer\Web\KuferTools\Dozent\SammelVertraege;
use Kufer\Web\KuferTools\Dozent\SammelVertraege\AkzeptierenOderAblehnen\Absenden;
use Kufer\Web\KuferTools\Utils\Dozent\SammelVertraegeUtils;

class SammelVertraegeAkzeptierenAbsendenUseCase extends \Kufer\Web\KuferTools\Dozent\SammelVertraege\AkzeptierenOderAblehnen\Absenden\SammelVertraegeAkzeptierenOderAblehnenAbsendenUseCase
{
  protected function acceptOrDenyVertrag(SammelvertragDatDoc $sammelvertragDatDoc): bool
  {
    return SammelVertraegeUtils::acceptSammelvertrag(
      $this->getUser()->getDnrIdentifier(),
      $this->request->id,
      $this->request->kursIds,
      $this->toolSettings->oldVertragPartOfNew
    );
  }

  protected function isInfoAnEinrichtungMandatory(): bool
  {
    return false;
  }

  public static function getToolId()
  {
    return SammelVertraege\SammelVertraegeUseCase::getToolId();
  }

  public static function getToolSectionId()
  {
    return SammelVertraege\SammelVertraegeUseCase::getToolSectionId();
  }

  protected function createEmail(): Absenden\EMail\SammelVertraegeAkzeptierenOderAblehnenEMailPresenter
  {
    return new EMail\SammelVertraegeAkzeptierenEMailPresenter($this->response);
  }
}