<?php
include_once 'bd.php';

class Sessao 
{
    public $bd;
    
    public $id;
    public $datahora;
    public $equipe_id;
    public $provafase_id;
    public $datahorafinalizacao;
    public $protocolo;

    public function __construct() {
        $this->bd = new BD();
    }
    
    public function inserir(){
        if(empty($this->datahora)) $this->datahora = date('Y-m-d H:i:s');
        $sql = "INSERT INTO imediaco_geo.sessao (datahora, equipe_id, provafase_id, datahorafinalizacao, protocolo)
                VALUES ('$this->datahora', '$this->equipe_id', '$this->provafase_id', '$this->datahorafinalizacao', '$this->protocolo')";
        $executou = $this->bd->executarSQL($this->bd->substituiVazioPorNull($sql));
        if($executou){
            $this->bd->log('inserir sessao', $sql, null);
            return true;
        }else{
            $_SESSION[erro][] = "Erro ao inserir sessao";
            return false;
        }
    }
    
    public function editar(){
        $sql = "UPDATE imediaco_geo.sessao SET
                equipe_id = '$this->equipe_id'
                ,provafase_id = '$this->provafase_id'
                ,datahorafinalizacao = '$this->datahorafinalizacao'
                ,protocolo = '$this->protocolo'
                WHERE id = '$this->id'";
        $executou = $this->bd->executarSQL($this->bd->substituiVazioPorNull($sql));
        if($executou){
            $this->bd->log('editar sessao', $sql, null);
            return true;
        }else{
            $_SESSION[erro][] = "Erro ao editar sessao";
            return false;
        }
    }
    
    public function excluir(){
        $sql = "DELETE FROM imediaco_geo.sessao WHERE id = '$this->id'";
        $executou = $this->bd->executarSQL($this->bd->substituiVazioPorNull($sql));
        if($executou){
            $this->bd->log('excluir sessao', $sql, null);
            return true;
        }else{
            $_SESSION[erro][] = "Erro ao excluir sessao";
            return false;
        }
    }
    
    public function encontrar($equipe_id, $provafase_id){
        $sql = "SELECT * FROM imediaco_geo.sessao WHERE equipe_id = '$equipe_id' AND provafase_id = '$provafase_id'";
        $this->bd->executarSQL($this->bd->substituiVazioPorNull($sql));
        $obj = $this->bd->getObjeto();
        
        $this->id = $obj->id;
        $this->datahora = $obj->datahora;
        $this->equipe_id = $obj->equipe_id;
        $this->provafase_id = $obj->provafase_id;
        $this->datahorafinalizacao = $obj->datahorafinalizacao;
        $this->protocolo = $obj->protocolo;
        
        return $obj;
    }
    
    public function reabrir($equipe_id, $provafase_id){
        $sql = "UPDATE imediaco_geo.sessao SET datahorafinalizacao = NULL, protocolo = NULL WHERE equipe_id = '$equipe_id' AND provafase_id = '$provafase_id'";
        $executou = $this->bd->executarSQL($this->bd->substituiVazioPorNull($sql));
        if($executou){
            $this->bd->log('reabrir sessao', $sql, null);
            return true;
        }else{
            $_SESSION[erro][] = "Erro ao reabrir sessao";
            return false;
        }
    }
}
