<?php
require_once "./Controller/Database.php";
require_once "./Controller/Setting.php";

class Unidad extends BD {

    private $PARM;
    function __construct() {
        $this->PARM = new Setting();
    }

    public function GET() {
        $this->Permission();
        if($this->admin){
            $query = $this->consult("SELECT * FROM vunidades");
            $query->execute();    
        } else {
            $query = $this->consult("SELECT * FROM vunidades WHERE userid=? OR userid_organizacion=?");
            $query->execute([$this->userid,$this->userid]);
        }
        $result = $query->fetchAll(PDO::FETCH_ASSOC);
        $this->data = array(
            'result' => $result,
            'condicion' => $this->PARM->condicion_unidad(),
            'estados' => $this->PARM->estados(),
            'municipios' => $this->PARM->municipios(),
            'parroquias' => $this->PARM->parroquias(),
            'campos_ensayo' => $this->PARM->campos_ensayo(),
            'tipo_servic' => $this->PARM->tipo_servic(),
            'areas_conocimiento' => $this->PARM->areas_conocimiento(),
            'subareas_conocimiento' => $this->PARM->subareas_conocimiento(),
            'disciplina' => $this->PARM->disciplina(),
            'tipo_servicio_unidad' => $this->PARM->tipo_servicio_unidad(),
        );
        $this->httpHeaders = 200;
    }

    public function PUT() {
        $this->Permission();
        $input = $this->input;
        $dat = array(
            ':condicion' => $input->condicion->id,
            ':direccion' => strtoupper($input->direccion),
            ':estado' => $input->estado->id,
            ':municipio' => $input->municipio->id,
            ':parroquia' => $input->parroquia->id,
            ':proporcion_m2' => $input->proporcion_m2,
            ':espacio_certif' => $this->Booleano($input->espacio_certif),
            ':latitud' => $input->latitud,
            ':longitud' => $input->longitud,   
            ':area' => $input->area->id,
            ':subarea' => $input->subarea->id,
            ':disciplina' => $input->disciplina->id,
            ':servicio' => $input->servicio->id,
            ':edited_by' => $this->userid,
            ':id' => $this->id,
        ); 
        $query = $this->consult('UPDATE unidades SET condicion=:condicion, direccion=:direccion,
            estado=:estado,municipio=:municipio,parroquia=:parroquia,
            proporcion_m2=:proporcion_m2, espacio_certif=:espacio_certif, servicio=:servicio,
            latitud=:latitud, longitud=:longitud,
            area=:area, subarea=:subarea, disciplina=:disciplina,
            edited_by=:edited_by, updated_at=now() WHERE id=:id');
        if($query->execute($dat)){
            $this->httpHeaders = 200;
        }
    }

}