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

class Gastos extends BD {

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

    public function GET() {
        $this->Permission();
        if($this->id==0){
            if($this->admin){
                $query = $this->consult("SELECT * FROM vorganizaciones");
                $query->execute();    
            } else {
                $query = $this->consult("SELECT * FROM vorganizaciones WHERE userid=?");
                $query->execute([$this->userid]);    
            }
            $this->data = $query->fetchAll(PDO::FETCH_ASSOC);;
            $this->httpHeaders = 200;
        } else {
            $query = $this->consult("SELECT * FROM gasto WHERE organizacion=?");
            $query->execute([$this->id]);
            $this->data = $query->fetchAll(PDO::FETCH_ASSOC)[0];
            $this->httpHeaders = 200;
        }
    }

    public function PUT() {
        $this->Permission();
        $input = $this->input;
        $dat = array(
            ':costo_1' => $input->costo_1,
            ':costo_2' => $input->costo_2,
            ':costo_3' => $input->costo_3,
            ':costo_4' => $input->costo_4,
            ':costo_5' => $input->costo_5,
            ':inversion_1'	=>	$input->inversion_1	,
            ':inversion_2'	=>	$input->inversion_2	,
            ':inversion_3'	=>	$input->inversion_3	,
            ':inversion_4'	=>	$input->inversion_4	,
            ':inversion_5'	=>	$input->inversion_5	,
            ':inversion_6'	=>	$input->inversion_6	,
            ':inversion_7'	=>	$input->inversion_7	,
            ':inversion_8'	=>	$input->inversion_8	,
            ':inversion_9'	=>	$input->inversion_9	,
            ':inversion_10'	=>	$input->inversion_10,
            ':inversion_11'	=>	$input->inversion_11,
            ':contratado_1'	=>	$input->contratado_1,
            ':contratado_2'	=>	$input->contratado_2,
            ':contratado_3'	=>	$input->contratado_3,
            ':externos_1'	=>	$input->externos_1,
            ':externos_2'	=>	$input->externos_2,
            ':externos_3'	=>	$input->externos_3,
            ':universitario_1'	=>	$input->universitario_1,
            ':universitario_2'	=>	$input->universitario_2,
            ':universitario_3'	=>	$input->universitario_3,
            ':otro_1'	=>	$input->otro_1,
            ':otro_2'	=>	$input->otro_2,
            ':otro_3'	=>	$input->otro_3,
            ':fuente_1'	=>	$input->fuente_1,
            ':fuente_2'	=>	$input->fuente_2,
            ':fuente_3'	=>	$input->fuente_3,
            ':fuente_4'	=>	$input->fuente_4,
            ':fuente_5'	=>	$input->fuente_5,
            ':fuente_6'	=>	$input->fuente_6,           
            ':edited_by' => $this->userid,
            ':id' => $this->id,
        ); 
        $query = $this->consult('UPDATE gasto SET 
            costo_1=:costo_1, costo_2=:costo_2,costo_3=:costo_3,costo_4=:costo_4,costo_5=:costo_5,
            inversion_1=:inversion_1, inversion_2=:inversion_2, inversion_3=:inversion_3, inversion_4=:inversion_4,
            inversion_5=:inversion_5, inversion_6=:inversion_6, inversion_7=:inversion_7, inversion_8=:inversion_8,
            inversion_9=:inversion_9, inversion_10=:inversion_10,inversion_11=:inversion_11,
            contratado_1=:contratado_1, contratado_2=:contratado_2, contratado_3=:contratado_3,
            externos_1=:externos_1, externos_2=:externos_2, externos_3=:externos_3, 
            universitario_1=:universitario_1, universitario_2=:universitario_2,universitario_3=:universitario_3,
            otro_1=:otro_1, otro_2=:otro_2, otro_3=:otro_3,
            fuente_1=:fuente_1, fuente_2=:fuente_2, fuente_3=:fuente_3, fuente_4=:fuente_4, fuente_5=:fuente_5, fuente_6=:fuente_6,
            edited_by=:edited_by, updated_at=now() WHERE id=:id');
        if($query->execute($dat)){
            $this->httpHeaders = 200;
        }
    }

}