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

namespace Kufer\Web\KuferTools\Dozent\KursUebersicht\Detailsreiter\Termine\TerminAbrechnenMoenchengladBildungswerk\Senden;

use Kufer\Web\Classes\Export\ExportKurstageWithDozentenHonorar;
use Kufer\Web\Classes\Export\ExportKursWithDozentenHonorar;
use Kufer\Web\Classes\ExportAdapter\ExpAdditionalVariables;


class TerminAbrechnenPdfView extends \Kufer\Web\KuferTools\Basis\View\ViewSight
{
  public function getTemplatePathRelative()
  {
    return 'dozent/kursuebersicht/detailsreiter/honorarabrechnung_pdf_moenchenglad_bildungswerk.sgt';
  }

  protected function getDefaultExportAdapter()
  {
    return new ExpAdditionalVariables(
      new ExportKursWithDozentenHonorar($this->viewModel->dozkurs),
      array(
        'hinweise' => $this->viewModel->hinweise,
        'honorar_gesamt' => $this->calcHonorarGesamt(),
      )
    );
  }

  protected function getDefaultDataModulArray()
  {
    return array($this->viewModel->kurs);
  }

  protected function getBodyDataModulArray()
  {
    return $this->viewModel->kurstage;
  }

  protected function getBodyExportAdapter()
  {
    return new ExpAdditionalVariables(
      new ExportKurstageWithDozentenHonorar($this->viewModel->dozkurs),
      array()
    );
  }

  private function calcHonorarGesamt(): string
  {
    $result = 0.00;

    foreach ($this->viewModel->kurstage as $kurstag) {
      $result += \MathOperations::stringToFloat($kurstag->ue) * $this->viewModel->dozkurs->honsatz;
    }

    return \MathOperations::floatToString($result);
  }
}