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

namespace Kufer\Web\KuferTools\Utils\Spezial;

use Kufer\Web\Classes\Identifier\Identifier;

class TeilnehmerVorgesetzterUtils
{
  private function __construct()
  {
  }

  
  public static function getTeilnehmerIdsOfVorgesetzten(Identifier $tnId): array
  {
    $dbwBez = \DBWorkBeziehung::getDefaultInstance();

    return array_map(static function($tnr) {
      return new Identifier((int)$tnr, null);
    }, $dbwBez->getZustaendigeTnrsEinesVorgesetzten($tnId->getId()));
  }

  public static function getVorgesetztenIdsOfTeilnehmer(Identifier $tnId): array
  {
    $dbwBez = \DBWorkBeziehung::getDefaultInstance();

    return array_map(static function($tnr) {
      return new Identifier((int)$tnr, null);
    }, $dbwBez->getVorgesetztenTnrsEinesTeilnehmers($tnId));
  }

  
  public static function isKursGenehmigungspflichtig(\Kurs $kurs): bool
  {
    if (static::isVorgesetztenTeilnehmerEnabled()) {
      return ($kurs->anm_art ?? '') === 'G'; 
    }

    return false;
  }

  public static function isVorgesetztenTeilnehmerEnabled(): bool
  {
    return \DBWorkBASysSettings::isBielefeldEvkbBildung() || \DBWorkBASysSettings::isBielefeldNazarethBildung();
  }
}