<?php

class AsignarLibro extends Conexion {

    public function Consultar() {
        $conectar = parent::conectar();
        parent::set_names();

        $sql = "SELECT asignarlibrodbk,carrera.descripcion as carrera,catalogo.descripcion as modalidad, asignatura.descripcion as asignatura, 
                count(*) as libros, CONCAT(papellido,' ',sapellido,' ',pnombre,' ',snombre)as docente
                FROM asignarlibro 
                INNER JOIN carrera ON carrera.carreradbk = asignarlibro.carreradbk
                INNER JOIN asignatura ON asignatura.asignaturadbk = asignarlibro.asignaturadbk
                INNER JOIN persona ON persona.personadbk = asignarlibro.persona
                LEFT JOIN catalogo ON modalidad = catalogodbk
                WHERE asignarlibro.estado = 'ACTIVO'
                GROUP BY carrera,asignatura";

        $sql = $conectar->prepare($sql);
        $sql->execute();
        return $resultado = $sql->fetchAll();
    }

    public function ConsultarRecursos($carrera, $asignatura) {
        $conectar = parent::conectar();
        parent::set_names();
        $sql = "
                SELECT asignarlibrodbk,asignarlibro.librodbk,nombre,autor,anio,clase,
                CONCAT(papellido,' ',sapellido,' ',pnombre,' ',snombre)as docente,URL 
                FROM asignarlibro
                INNER JOIN libros ON asignarlibro.librodbk = libros.librodbk
                INNER JOIN persona ON asignarlibro.persona = personadbk
                WHERE carreradbk = ? 
                AND asignaturadbk = ?
               ";

        $sql = $conectar->prepare($sql);
        $sql->bindValue(1, $carrera);
        $sql->bindValue(2, $asignatura);
        $sql->execute();
        return $resultado = $sql->fetchAll();
    }

    public function AsignarLibro_por_ID($asignarLibroId) {
        $conectar = parent::conectar();
        parent::set_names();
        $sql = "
                SELECT asignarlibrodbk,asignarlibro.librodbk,asignarlibro.carreradbk,
                asignarlibro.asignaturadbk,persona,
                carrera.descripcion as carrera, catalogo.descripcion as modalidad, asignatura.descripcion as asignatura
                from asignarlibro
                INNER JOIN carrera ON asignarlibro.carreradbk = carrera.carreradbk
                INNER JOIN asignatura ON asignarlibro.asignaturadbk = asignatura.asignaturadbk
                LEFT JOIN catalogo ON catalogodbk = carrera.modalidad
                WHERE asignarlibrodbk = ?
                ";
        $sql = $conectar->prepare($sql);
        $sql->bindValue(1, $asignarLibroId);
        $sql->execute();
        return $resultado = $sql->fetchAll();
    }

    public function Eliminar_por_ID($asignarLibroId) {
        $conectar = parent::conectar();
        parent::set_names();
        $sql = "
                DELETE FROM asignarlibro WHERE asignarlibrodbk = ?
                ";
        $sql = $conectar->prepare($sql);
        $sql->bindValue(1, $asignarLibroId);
        $sql->execute();
        return $resultado = $sql->fetchAll();
    }

    public function mdlGuardarAsignarRecurso($datos) {
        $conectar = parent::conectar();
        parent::set_names();
        $sql = "INSERT INTO " . $datos["tabla"] . "  
                (librodbk,carreradbk,asignaturadbk,persona,estado)
                VALUES (?,?,?,?,?);
                ";
        $sql = $conectar->prepare($sql);
        $sql->bindValue(1, $datos["librodbk"]);
        $sql->bindValue(2, $datos["carreradbk"]);
        $sql->bindValue(3, $datos["asignaturadbk"]);
        $sql->bindValue(4, $_SESSION["personadbk"]);
        $sql->bindValue(5, "ACTIVO");
        $sql->execute();
        return $resultado = $sql->fetchAll();
    }

    public function listar($mallacurriculardbk) {
        $conectar = parent::conectar();
        parent::set_names();
        $sql = "SELECT * FROM mallacurricular WHERE mallacurriculardbk=?";
        $sql = $conectar->prepare($sql);
        $sql->bindValue(1, $mallacurriculardbk);
        $sql->execute();
        $resultado = $sql->fetchAll();
        foreach ($resultado as $row) {
            $carrera = $row["carrera"];
            $asignatura = $row["asignatura"];
            $periodo = $row["periodo"];
        }
        $sql = "
                SELECT asignarlibrodbk,nombre,autor,clase,CONCAT(papellido,' ',pnombre)AS docente,asignarlibro.librodbk,URL,asignarlibro.estado as estado
                FROM asignarlibro 
                INNER JOIN libros ON libros.librodbk = asignarlibro.librodbk 
                INNER JOIN persona ON personadbk = asignarlibro.persona 
                WHERE carreradbk = " . $carrera . " 
                AND asignaturadbk = " . $asignatura . " 
                ";
        $sql = $conectar->prepare($sql);
        $sql->execute();
        return $resultado = $sql->fetchAll();
    }

    public function listarLibros($detalledbk) {
        $conectar = parent::conectar();
        parent::set_names();
        $sql = "SELECT * FROM detalle WHERE detalledbk=?";
        $sql = $conectar->prepare($sql);
        $sql->bindValue(1, $detalledbk);
        $sql->execute();
        $resultado = $sql->fetchAll();
        foreach ($resultado as $row) {
            $matriculadbk = $row["matricula"];
            $asignaturadbk = $row["asignatura"];
        }
        $sql = "SELECT * FROM matricula WHERE matriculadbk=?";
        $sql = $conectar->prepare($sql);
        $sql->bindValue(1, $matriculadbk);
        $sql->execute();
        $resultado = $sql->fetchAll();
        foreach ($resultado as $row) {
            $carreradbk = $row["codcar"];
            $periodbk = $row["periodo"];
        }
        $sql = "
                SELECT asignarlibrodbk,nombre,autor,clase,CONCAT(papellido,' ',pnombre)AS docente,asignarlibro.librodbk,URL,asignarlibro.estado as estado
                FROM asignarlibro 
                INNER JOIN libros ON libros.librodbk = asignarlibro.librodbk 
                INNER JOIN persona ON personadbk = asignarlibro.persona 
                WHERE carreradbk = " . $carreradbk . " 
                AND asignaturadbk = " . $asignaturadbk . " 
                ";
        $sql = $conectar->prepare($sql);
        $sql->execute();
        return $resultado = $sql->fetchAll();
    }

    public function mdlActualizarEstado($datos) {
        $conectar = parent::conectar();
        parent::set_names();
        $sql = "UPDATE " . $datos["tabla"] . "  
                SET estado = ?
                WHERE asignarlibrodbk = ?";
        $sql = $conectar->prepare($sql);
        $sql->bindValue(1, $datos["estado"]);
        $sql->bindValue(2, $datos["asignarlibrodbk"]);
        $sql->execute();
        return $resultado = $sql->fetchAll();
    }

}

?>
