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

namespace Kufer\Web\KuferTools\Utils\FilterSettings\Teilnehmer;

use Kufer\Web\Classes\Dbfilter\ISQLFilter;
use Kufer\Web\Classes\Dbfilter\TeilnehmerSQLFilter;

class TeilnehmerVonKinderBeziehungFilterSettings implements \Kufer\Web\KuferTools\Utils\FilterSettings\IFilterSettings
{
  
  protected $parentTnr;

  public function __construct(int $parentTnr)
  {
    $this->parentTnr = $parentTnr;
  }

  
  public function applySettings($filter): ISQLFilter
  {
    $beziehungenFilter = \Kufer\Web\Classes\Dbfilter\BeziehungenSQLFilter::create();
    $beziehungenFilter->hasCurrentlyValidArt(\DBWorkBeziehung::BEZIEHUNG_ELTERN_ZU_KIND);
    $beziehungenFilter->equalsReferenz1($this->parentTnr);
    $filter->applyBeziehungenFilterReferenz2($beziehungenFilter);

    return $filter;
  }

  public function assertFilterClass($filter): void
  {
    assert($filter instanceof TeilnehmerSQLFilter);
  }
}