<?php
require_once("DBManager.class.php");

class TipoGasto {

    private $id;
    private $codigo;
    private $descripcion;

    // =========================================================
    //  REGISTRAR TIPO GASTO
    // =========================================================
    public function Crear($codigo, $descripcion)
    {
        $resp = false;
        $db = new DBManager();

        $sql = "INSERT INTO tipos_gasto(id, codigo, descripcion)
                VALUES(NULL, '$codigo', '$descripcion')";

        if ($db->_execute($sql)) {
            $resp = true;
        }
        return $resp;
    }

    // =========================================================
    //  ACTUALIZAR TIPO GASTO
    // =========================================================
    public function Actualizar($id, $codigo, $descripcion)
    {
        $resp = false;
        $db = new DBManager();

        $sql = "UPDATE tipos_gasto SET 
                    codigo = '$codigo',
                    descripcion = '$descripcion'
                WHERE id = $id";

        if ($db->_execute($sql)) {
            $resp = true;
        }
        return $resp;
    }

    // =========================================================
    //  ELIMINAR TIPO GASTO
    // =========================================================
    public function Eliminar($id)
    {
        $resp = false;
        $db = new DBManager();

        $sql = "DELETE FROM tipos_gasto WHERE id = $id";

        if ($db->_execute($sql)) {
            $resp = true;
        }
        return $resp;
    }

    // =========================================================
    //  BUSCAR POR ID
    // =========================================================
    public function BuscarPorCodigo($id)
    {
        $resp = false;
        $db = new DBManager();
        $rs = $db->execute("SELECT * FROM tipos_gasto WHERE id=$id");

        if ($rs->getNumOfRows() > 0) {
            $resp = true;
            $rs->firstRow();
            while (!$rs->EOF) {
                $this->id          = $rs->fields["id"];
                $this->codigo      = $rs->fields["codigo"];
                $this->descripcion = $rs->fields["descripcion"];
                $rs->nextRow();
            }
        }
        return $resp;
    }

    // =========================================================
    //  LISTAR TIPOS DE GASTO
    // =========================================================
    public function Listar($valor)
    {
        $vector = null;
        $db = new DBManager();
        $rs = $db->execute("SELECT * FROM tipos_gasto 
                           WHERE descripcion LIKE CONCAT('%','$valor','%')
                           ORDER BY descripcion ASC");

        $num_rows = $rs->getNumOfRows();

        if ($num_rows > 0) {
            $row = 0;
            $rs->firstRow();
            while (!$rs->EOF) {
                $vector[$row] = array(
                    "id" => $rs->fields["id"],
                    "codigo" => $rs->fields["codigo"],
                    "descripcion" => $rs->fields["descripcion"]
                );
                $row++;
                $rs->nextRow();
            }
            return $vector;
        }
        return null;
    }

    // =========================================================
    //  GETTERS
    // =========================================================
    public function getId()          { return $this->id; }
    public function getCodigo()      { return $this->codigo; }
    public function getDescripcion() { return $this->descripcion; }

}
?>

