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

namespace Kufer\KuferTools\Teilnehmer\BayerischerApothekertagEhrengaeste\ShowAnmeldeDialog;

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

  public static function getToolSectionId()
  {
    return 558;
  }

  public static function getToolId()
  {
    return 47;
  }

  public function action()
  {
    

    return $this->getResponse();
  }

  private function getErlaubteZahlart($erlaubteZahlArten)
  {
    if ($erlaubteZahlArten[0] == 'lastschrift') {
      $this->response->erlaubteZahlart = 'Lastschrift';
    } elseif ($erlaubteZahlArten[0] == 'ueberweisung') {
      $this->response->erlaubteZahlart = 'Überweisung';
      $this->response->erlaubteZahlartVal = 'Ü';
    } elseif ($erlaubteZahlArten[0] == 'rechnung') {
      $this->response->erlaubteZahlart = 'Rechnung';
    }
  }

  private function getKurse()
  {
    $dbwKurse = new \DBWorkKurseWT();

    return $dbwKurse->getKurseByKursnummern($this->request->knrAry);
  }

  protected function getResponse()
  {
    
    $this->response->kurse = $this->getKurse();
    $this->response->kursdata = $this->response->kurse;
    $tool14Settings = \ToolSettingsAPI::getToolSettings(14);

    $erlaubteZahlArten = $tool14Settings->getErlaubteZahlArten();
    $this->response->anzahlZahlArten = count($erlaubteZahlArten);

    if ($this->response->anzahlZahlArten <= 1) {
      $this->getErlaubteZahlart($erlaubteZahlArten);
    }
    $this->response->erlaubteZahlarten = implode(' ', $erlaubteZahlArten);
    $this->response->zahlart_lastschrift = in_array('lastschrift', $erlaubteZahlArten);
    $this->response->lastschriftClass = 'nurLastschrift';
    
    if ($this->response->erlaubteZahlart == 'Lastschrift') {
      $this->response->lastschriftClass = '';
    }
    $this->response->newsletterAnmeldung = $tool14Settings->newsletterAnmeldung_erlaubt;
    $this->response->pauschaleMehrfachanmeldung = $tool14Settings->anm_pauschaleMehrfachanmeldung_erlaubt;
    $this->response->anmZusatzText = \StringOperations::convertLinebreaks2HTML(\StringOperations::html_entity_decode($tool14Settings->anm_zusatzText));
    $this->response->kursHatGebuehr = true;

    return $this->response;
  }
}

class ShowAnmeldeDialogRequest
{
  public $knrAry;
}

class ShowAnmeldeDialogResponse extends \Kufer\KuferTools\Basis\UseCase\ToolResponse
{
  public $kursdata;
  public $erlaubteZahlarten;
  public $zahlart_lastschrift;
  public $erlaubteZahlart;
  public $erlaubteZahlartVal;

  public $anzahlZahlArten;
  public $lastschriftClass;
  public $newsletterAnmeldung;
  public $pauschaleMehrfachanmeldung;
  public $anmZusatzText;
  public $kursHatGebuehr;
}