<?php

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

class TeilnehmerZahlenProviderKuferSQL50 extends TeilnehmerZahlenProvider
{
  

  
  public function getAnzahlTeilnehmerAngemeldet(): int
  {
    $dbworkBelegung = DBWorkBelegung::getDefaultInstance();
    $nurAngemeldete = true;
    $anzahlAngemeldeteBelegungen = $dbworkBelegung->getBelegungCountByKnr($this->kurs->id, $nurAngemeldete);

    return $anzahlAngemeldeteBelegungen + max($this->kurs->teinzel, 0);
  }

  
  public function getAnzahlKinderAngemeldet(): int
  {
    $dbworkBelegung = DBWorkBelegung::getDefaultInstance();
    $nurAngemeldete = true;
    $anzahlAngemeldeterKinder = $dbworkBelegung->getKinderAnzahlByKnr($this->kurs->id, $nurAngemeldete);

    return $anzahlAngemeldeterKinder + max($this->kurs->kinder_ev, 0);
  }

  
  public function getAnzahlTeilnehmerWarteliste(): int
  {
    $dbworkBelegung = DBWorkBelegung::getDefaultInstance();

    return $dbworkBelegung->getCountTNinWartelisteByKurs($this->kurs->id);
  }

  
  public function getAnzahlKinderWarteliste(): int
  {
    $dbworkBelegung = DBWorkBelegung::getDefaultInstance();

    return $dbworkBelegung->getCountKinderInWartelisteByKnr($this->kurs->id);
  }

  

  public function getAnzahlTeilnehmerAngemeldetOnline(): int
  {
    $dbworkBelegung = DBWorkBelegung::getDefaultInstance();
    $nurAngemeldete = true;
    $nurOnlineteilnahme = true;

    return $dbworkBelegung->getBelegungCountByKnr($this->kurs->id, $nurAngemeldete, $nurOnlineteilnahme);
  }

  public function getAnzahlKinderAngemeldetOnline(): int
  {
    $dbworkBelegung = DBWorkBelegung::getDefaultInstance();
    $nurAngemeldete = true;
    $nurOnlineteilnahme = true;

    return $dbworkBelegung->getKinderAnzahlByKnr($this->kurs->id, $nurAngemeldete, $nurOnlineteilnahme);
  }

  public function getAnzahlTeilnehmerWartelisteOnline(): int
  {
    $dbworkBelegung = DBWorkBelegung::getDefaultInstance();
    $nurOnlineteilnahme = true;

    return $dbworkBelegung->getCountTNinWartelisteByKurs($this->kurs->id, $nurOnlineteilnahme);
  }

  public function getAnzahlKinderWartelisteOnline(): int
  {
    $dbworkBelegung = DBWorkBelegung::getDefaultInstance();
    $nurOnlineteilnahme = true;

    return $dbworkBelegung->getCountKinderInWartelisteByKnr($this->kurs->id, $nurOnlineteilnahme);
  }
}