<?php
include_once 'bd.php';

class Resposta 
{
    public $bd;
    
    public $id;
    public $datahoraregistro;
    public $alternativa_id;
    public $equipe_id;
    public $questao_id;

    public function __construct() {
        $this->bd = new BD();
    }
    
    public function inserir(){
        $sql = "INSERT INTO imediaco_geo.resposta (alternativa_id, equipe_id, questao_id)
                VALUES ('$this->alternativa_id', '$this->equipe_id', '$this->questao_id')";
        $executou = $this->bd->executarSQL($this->bd->substituiVazioPorNull($sql));
        if($executou){
            $this->bd->log('inserir resposta', $sql, null);
            return true;
        }else{
            $_SESSION[erro][] = "Erro ao inserir resposta";
            return false;
        }
    }

    public function editar(){
        $sql = "UPDATE imediaco_geo.resposta SET
                alternativa_id = '$this->alternativa_id'
                ,equipe_id = '$this->equipe_id'
                ,questao_id = '$this->questao_id'
                WHERE id = '$this->id'";
        $executou = $this->bd->executarSQL($this->bd->substituiVazioPorNull($sql));
        if($executou){
            $this->bd->log('editar resposta', $sql, null);
            return true;
        }else{
            $_SESSION[erro][] = "Erro ao editar resposta";
            return false;
        }
    }
    
    public function excluir(){
        $sql = "DELETE FROM imediaco_geo.resposta WHERE id = '$this->id'";
        $executou = $this->bd->executarSQL($this->bd->substituiVazioPorNull($sql));
        if($executou){
            $this->bd->log('excluir questao', $sql, null);
            return true;
        }else{
            $_SESSION[erro][] = "Erro ao excluir resposta";
            return false;
        }
    }
    
    public function encontrar($id){
        $sql = "SELECT * FROM imediaco_geo.resposta WHERE id = '$id'";
        $this->bd->executarSQL($this->bd->substituiVazioPorNull($sql));
        $obj = $this->bd->getObjeto();
        
        $this->id = $obj->id;
        $this->datahoraregistro = $obj->datahoraregistro;
        $this->alternativa_id = $obj->alternativa_id;
        $this->equipe_id = $obj->equipe_id;
        $this->questao_id = $obj->questao_id;
        
        return $obj;
    }
    
    public function existe($equipe_id, $questao_id, $alternativa_id=null){
        $wherealternativa = (!empty($alternativa_id))? " AND alternativa_id = '$alternativa_id'" : null;
        $sql = "SELECT id FROM imediaco_geo.resposta WHERE equipe_id = '$equipe_id' AND questao_id = '$questao_id' $wherealternativa";
        $this->bd->executarSQL($this->bd->substituiVazioPorNull($sql));
        $obj = $this->bd->getObjeto();
        
        if(!empty($obj->id)){
            $this->id = $obj->id;
        }
        
        return $obj->id;
    }
    
    public function salvar(){
        $id = $this->existe($this->equipe_id, $this->questao_id);
        if(!empty($id)){
            $executou = $this->editar();
        }else{
            $executou = $this->inserir();
        }
        
        return $executou;
    }
}
