<?php

namespace App\Http\Controllers;

use App\VizitkaDefine;

class VizitkaDefineController extends Controller
{
    public $id_stanice;
    public $sloupec_velicina;
    public $zobrazit = 0;

    public function __construct($id_stanice, $sloupec_velicina)
    {
        $this->id_stanice = $id_stanice;
        $this->sloupec_velicina = $sloupec_velicina;
    }

    public function checkVizitkaPolozka(): int
    {
        //kontrola jestli je v DB
        if($this->kontrolaExistence())
        {
            return $this->zobrazit;
        }

        $this->addToDb();
        //dana navtrdo jednička aby se neměnila že jedna čast vrací 0,1 a druha true
        return 1;


    }

    public static function nastaveniViditelnostiPolozkyVizitky($id_stanice,$stav): void
    {
        $vizitka = VizitkaDefine::findOrFail($id_stanice);
        if($vizitka)
        {
            $vizitka->zobrazit = $stav;
            $vizitka->save();
        }
    }

    /**
     * @return bool
     */
    private function kontrolaExistence(): bool
    {
        $data = VizitkaDefine::getDataVizitky($this->id_stanice, $this->sloupec_velicina);
        if (!empty($data))
        {
            $this->zobrazit = $data->zobrazit;
            return true;
        }

        return false;
    }

    private function addToDb(): void
    {
        VizitkaDefine::saveDataVizitky($this->id_stanice,$this->sloupec_velicina);
    }

}
