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

class Kurszusatztexte extends Datamodul
{
  public $zielgruppe;
  public $voraussetzungen;
  public $ziel;
  public $methode;
  public $anmelde;
  
  public $kostenfreitxt;
  
  public $kurzbez_bf;
  public $titel_bf;
  public $vorspann_bf;
  public $nachspann_bf;
  public $zeugnis_bf;
  public $ziel_bf;
  public $zielgruppe_bf;
  
  public $zusatztext6;
  public $zusatztext7;
  public $zusatztext8;
  public $zusatztext9;
  public $zusatztext10;
  public $zusatz1html;
  public $zusatz2html;
  public $zusatz3html;
  public $zusatz4html;
  public $zusatz5html;
  public $zusatz6html;
  public $zusatz7html;
  public $zusatz8html;
  public $zusatz9html;
  public $zusatz10html;
  public $stornogrund;
  public $knr_extern;
  public $ue_abw;
  public $verwaltung_ma;
  public $basysbenutzer_verwaltung_ma;
  public $meta_description;
  public $meta_keywords;
  public $infoberatungstext;
  public $anm_beginn;
  public $anm_begtxt;
  public $anm_endtxt;
  
  public $abwGrundNoetig;
  public $ita_gemeinde;
  public $gebuehr_name;
  
  public $teinzel_frei;
  
  public $monataltvon;
  
  public $monataltbis;
  public $uewebanzeige;
  public $ue_abw_orig;
  public $webanz_abwue;

  public function getTyp($pFieldName)
  {
    switch ($pFieldName) {
      default:
        return \DatamodulVarType::TYPE_STRING;
      case 'ue_abw':
      case 'ue_abw_orig':
      case 'webanz_abwue':
      case 'ita_gemeinde':
      case 'teinzel_frei':
      case 'monataltvon':
      case 'monataltbis':
        return \DatamodulVarType::TYPE_INT;
      case 'anm_beginn':
        return \DatamodulVarType::TYPE_DATETIME;
    }
  }

  public function getDmzVarnameMappingForReceivingData(): array
  {
    return array(
      'Nr' => 'id',
      'KurzbezBf' => 'kurzbez_bf',
      'TitelBf' => 'titel_bf',
      'VorspannBf' => 'vorspann_bf',
      'NachspannBf' => 'nachspann_bf',
      'ZeugnisBf' => 'zeugnis_bf',
      'ZielBf' => 'ziel_bf',
      'ZielgruppeBf' => 'zielgruppe_bf',
      'KnrExtern' => 'knr_extern',
      'UeAbw' => 'ue_abw_orig',
      'VerwaltungMa' => 'verwaltung_ma',
      'MetaDescription' => 'meta_description',
      'MetaKeywords' => 'meta_keywords',
      'AnmBeginn' => 'anm_beginn',
      'AnmBegtxt' => 'anm_begtxt',
      'AnmEndtxt' => 'anm_endtxt',
      'ItaGemeinde' => 'ita_gemeinde',
      'GebuehrName' => 'gebuehr_name',
      'TeinzelFrei' => 'teinzel_frei',
      'WebanzAbwue' => 'webanz_abwue',
    );
  }

  public function getVarValueEx($name, $datamodulname)
  {
    if (\StringOperations::strtolower($datamodulname) == 'basysbenutzer') {
      return $this->basysbenutzer_verwaltung_ma->getVarValueEx($name, $datamodulname);
    }

    return parent::getVarValueEx($name, $datamodulname);
  }

  
  public static function fromDmzValues(\stdClass $dmzDatamodul): \Datamodul
  {
    $kurszusatztexte = parent::fromDmzValues($dmzDatamodul);
    $kurszusatztexte->ue_abw = \MathOperations::minProUeKnr($kurszusatztexte->id, true, $kurszusatztexte->ue_abw_orig, true);

    return $kurszusatztexte;
  }
}