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

namespace Kufer\KuferTools\Dozent\KursUebersicht\Detailsreiter\Honorar\Vertrag\Utils;

abstract class VertragUtilsDemo extends VertragUtilsDefaultDruckenAkzeptierenAblehnen
{
  private const VERTRAG_NICHT_FREIGEGEBEN = 1;
  private const VERTRAG_FREIGEGEBEN = 2;
  private const VERTRAG_AKZEPTIERT = 3;
  private const VERTRAG_ABGELEHNT = 4;

  protected static function getDozKursByKnr($knr)
  {
    $dozKurs = new \DozKurs();
    $dozKurs->kurs = $knr;

    return $dozKurs;
  }

  public function vertragAkzeptieren()
  {
  }

  public function vertagAblehnen()
  {
  }

  public static function getVertragUtilsDemo($knr)
  {
    if (\StringOperations::strpos($knr, '-4613') !== false) {
      return VertragUtilsDemoVertragNichtFreigegeben::getVertragUtils($knr);
    } elseif (\StringOperations::strpos($knr, '-4801') !== false) {
      return VertragUtilsDemoVertragFreigegeben::getVertragUtils($knr);
    } elseif (\StringOperations::strpos($knr, '-4633') !== false) {
      return VertragUtilsDemoVertragAbgelehnt::getVertragUtils($knr);
    } else {
      return VertragUtilsDemoVertragAkzeptiert::getVertragUtils($knr);
    }
  }

  public static function getRechnungsOrVertragsStatusDemo($knrs)
  {
    $knrStatusMap = array();
    foreach ($knrs as $knr) {
      $vertragUtils = self::getVertragUtilsDemo($knr);
      if (!$vertragUtils->isVertragsDruckAllowed()) {
        $status = self::VERTRAG_NICHT_FREIGEGEBEN;
      } elseif ($vertragUtils->isVertragBereitsAbgelehnt()) {
        $status = self::VERTRAG_ABGELEHNT;
      } elseif ($vertragUtils->isVertragBereitsAkzeptiert()) {
        $status = self::VERTRAG_AKZEPTIERT;
      } else {
        $status = self::VERTRAG_FREIGEGEBEN;
      }
      $knrStatusMap[$knr] = $status;
    }

    return $knrStatusMap;
  }
}