$PATH = "/var/www/vhosts/reuter.com.br/httpdocs/tecnoblind/";
require_once $PATH.'controller/ServicosController.php';
require_once $PATH.'database/connect.php';
class ServicosModel extends Connect{
	
	public function save(ServicosController $servicos) {
		// logica para salvar dado no banco
        $st_query = "INSERT INTO servicos
                    (
                        tit,
                        txt,
                        img
                    )
                    VALUES
                    (
                        '".$servicos->getTit()."',
                        '".$servicos->getTxt()."',
                        '".$servicos->getImg()."'
                    );";
        try
        {
        	if($this->o_db->exec($st_query) > 0)
                return true;
        }
        catch (PDOException $e)
        {
            throw $e;
        }
        return false; 
	}
    public function contador($filtro) {
        // logica para listar toodos os dados do banco
        if($filtro)
        {
            $st_query = "SELECT COUNT(*)AS total FROM servicos WHERE tit LIKE '%$filtro%'";
        }
        else
        {
            $st_query = "SELECT COUNT(*)AS total FROM servicos";
        }
        try
        {
            $o_data = $this->o_db->query($st_query);
            $o_ret = $o_data->fetchObject();
            $total = $o_ret->total;
            return $total;
        }
        catch(PDOException $e)
        {
            die("Erro: " . $i->getMessage() . "");
        }             
        return $dados;
    }
	 
	public function update(ServicosController $servicos) {
		// logica para atualizar dado no banco
		$st_query = "UPDATE
                            servicos
                        SET
                            tit = '".$servicos->getTit()."',
                            txt = '".$servicos->getTxt()."',
                            img = '".$servicos->getImg()."'
                        WHERE
                            sv_cod =".$servicos->getID();
                            
        try
        {
            $this->o_db->exec($st_query);
            return true;
        }
        catch (PDOException $e)
        {
            throw $e;
            return false; 
        }
	}
	 
	public function remove($cod) {
		// logica para remover dado do banco
        $st_query = "DELETE FROM servicos WHERE sv_cod = $cod";
        if($this->o_db->exec($st_query) > 0)
            return true;
        else
        	return false;
	}
	 
	public function listAll($inicio, $limite, $filtro) {
		// logica para listar toodos os dados do banco
        if($filtro)
        {
            $st_query = "SELECT * FROM servicos WHERE tit LIKE '%$filtro%'";
        }
        else
        {
            $st_query = "SELECT * FROM servicos LIMIT $inicio, $limite";
        }
		$dados = array();
        try
        {
            $o_data = $this->o_db->query($st_query);
            while($o_ret = $o_data->fetchObject())
            {
                $dado = new ServicosController();
                $dado->setId($o_ret->sv_cod);
                $dado->setTit($o_ret->tit);
                array_push($dados, $dado);
            }
        }
        catch(PDOException $e)
        {
            die("Erro: " . $i->getMessage() . "");
        }             
        return $dados;
	} 
    public function listarTudoSemLimit() {
        // logica para listar toodos os dados do banco
        $st_query = "SELECT * FROM servicos ORDER BY tit ";
        
        $dados = array();
        try
        {
            $o_data = $this->o_db->query($st_query);
            while($o_ret = $o_data->fetchObject())
            {
                $dado = new ServicosController();
                $dado->setId($o_ret->sv_cod);
                $dado->setTit($o_ret->tit);
                $dado->setImg($o_ret->img);
                $dado->setTxt($o_ret->txt);
                array_push($dados, $dado);
            }
        }
        catch(PDOException $e)
        {
            die("Erro: " . $i->getMessage() . "");
        }             
        return $dados;
    } 
    public function listAllActive() {
        // logica para listar toodos os dados do banco
        $st_query = "SELECT * FROM servicos ";
        
        $dados = array();
        try
        {
            $o_data = $this->o_db->query($st_query);
            while($o_ret = $o_data->fetchObject())
            {
                $dado = new ServicosController();
                $dado->setId($o_ret->sv_cod);
                $dado->setTit($o_ret->tit);
                $dado->setImg($o_ret->img);
                $dado->setTxt($o_ret->txt);
                array_push($dados, $dado);
            }
        }
        catch(PDOException $e)
        {
            die("Erro: " . $i->getMessage() . "");
        }             
        return $dados;
    } 
	public function listById($cod)
    {
    	$servicos = new ServicosController();
        $st_query = "SELECT * FROM servicos WHERE sv_cod = $cod";
        $o_data = $this->o_db->query($st_query);
        $o_ret = $o_data->fetchObject();
        $servicos->setId($o_ret->sv_cod);
        $servicos->setTit($o_ret->tit);   
        $servicos->setTxt($o_ret->txt);   
        $servicos->setImg($o_ret->img);   
        return $servicos;
    }
}
?>
$PATH_PAI = "http://www.tecnoblind.com.br/";
?>