actamodel.php 5.25 KB
<?php
include_once 'models/arcu.php';
include_once 'SED.php';

class ActaModel extends Model{

public function __construct()
{
    parent::__construct();
}


public function existe($numero){
    try{

        $sql = $this->db->connect()->prepare("SELECT numero FROM acta WHERE numero=:numero");
        $sql->execute(['numero' =>$numero]);
        $nombre=$sql->fetch();
        
        if($numero==$nombre['numero']){
            
            return $nombre['numero'];

        } 
        return false;
    } catch(PDOException $e){
        return false;
    }
}


public function get(){

    $items=[];

try{

    $query=$this->db->connect()->query("SELECT id_acta, numero, acta.fecha, acta.id_tipo_consejo, tipo_consejo.descripcion FROM acta, tipo_consejo WHERE acta.id_tipo_consejo=tipo_consejo.id_tipo_consejo");


    while($row=$query->fetch()){
        $item=new Arcu();
        $item->id_acta=$row['id_acta'];
        $item->id_tipo_consejo=$row['id_tipo_consejo'];
        $item->descripcion=$row['descripcion'];
        $item->numero=$row['numero'];
        $item->fecha=$row['fecha'];
        array_push($items,$item);
    }
        return $items;

}catch(PDOException $e){

      
    return []; 

}
}



public function insert($datos){

try{

$pdo=$this->db->connect();

$pdo->beginTransaction();

if (isset($datos['file1'])){

copy($datos['ruta1'],$datos['destino1']);

$query=$pdo->prepare('INSERT INTO acta (numero, fecha, documento, id_tipo_consejo) VALUES (:numero, :fecha, :documento, :id_tipo_consejo)');

$query->execute(['numero'=>$datos['numero'], 'fecha'=>$datos['fecha'], 'documento'=>$datos['file1'], 'id_tipo_consejo'=>$datos['id_tipo_consejo']]);


}//copy de documento



$pdo->commit();
return true;

}catch(PDOException $e){

    $pdo->rollBack();   
    return false;

}


}


public function getTipoConsejo(){

    $items=[];
  
    try{
       
        $query = $this->db->connect()->query("SELECT id_tipo_consejo, descripcion FROM tipo_consejo");
        while($row = $query->fetch()){
            $item=new Arcu();
            $item->id_tipo_consejo=$row['id_tipo_consejo'];
            $item->descripcion=$row['descripcion'];
            array_push($items, $item);
        }
        
        return $items;
        
    }catch(PDOException $e){
        return [];
         
    }
}



public function getID($id_acta){


    try{
        $query=$this->db->connect()->prepare("SELECT id_acta, numero, acta.fecha, documento , acta.id_tipo_consejo, tipo_consejo.descripcion FROM acta, tipo_consejo WHERE tipo_consejo.id_tipo_consejo=acta.id_tipo_consejo AND acta.id_acta=:id_acta");
        
        $query->execute(['id_acta'=>$id_acta]);
        $item=new Arcu();
    
        
        while($row=$query->fetch()){

        $item->id_acta=$row['id_acta'];    
        $item->numero=$row['numero'];
        $item->fecha=$row['fecha'];
        $item->id_tipo_consejo=$row['id_tipo_consejo'];
        $item->descripcion=$row['descripcion'];
        $item->documento=$row['documento'];
        }
        
        return $item;

      
    }catch(PDOException $e){
        return false;
    }

}




public function update($datos){

    try{
        //1. guardas el objeto pdo en una variable
        $pdo=$this->db->connect();
                
        //2. comienzas transaccion
        $pdo->beginTransaction();
      //  var_dump($datos['ruta1']);
       // exit();
        if($datos['ruta1']==''){
        $evento=$pdo->prepare("UPDATE acta SET numero=:numero, fecha=:fecha, id_tipo_consejo=:id_tipo_consejo WHERE id_acta=:id_acta");

        $evento->execute(['numero'=>$datos['numero'], 'fecha'=>$datos['fecha'], 'id_tipo_consejo'=>$datos['id_tipo_consejo'], 'id_acta'=>$datos['id_acta']]);
       
        }else{

  
            $query2=$pdo->prepare("SELECT documento FROM acta WHERE id_acta=:id_acta");
            $query2->execute(['id_acta'=>$datos['id_acta']]);
            $documento=$query2->fetch();

            $ruta="src/acta/".$documento['documento'];
            unlink($ruta);

            
           if(copy($datos['ruta1'],$datos['destino1'])){

            $evento=$pdo->prepare("UPDATE acta SET numero=:numero, fecha=:fecha, documento=:documento, id_tipo_consejo=:id_tipo_consejo WHERE id_acta=:id_acta");

            $evento->execute(['numero'=>$datos['numero'], 'fecha'=>$datos['fecha'], 'documento'=>$datos['file1'], 'id_tipo_consejo'=>$datos['id_tipo_consejo'], 'id_acta'=>$datos['id_acta']]);
            }

        }
        //4. consignas la transaccion (en caso de que no suceda ningun fallo)
        $pdo->commit(); 

        return true;
    }catch(PDOException $e){
        //5. regresas a un estado anterior en caso de error
        $pdo->rollBack();
        return false;
    }
}


public function delete($id_acta){

    $query2=$this->db->connect()->prepare("SELECT documento FROM acta WHERE id_acta=:id_acta");
    $query2->execute([
        'id_acta'=>$id_acta,
        ]);
    $documento=$query2->fetch();
    $documento['documento'];


   if( $query = $this->db->connect()->prepare("DELETE FROM acta WHERE id_acta=:id_acta")){

    $ruta1="src/acta/".$documento['documento'];
    unlink($ruta1);

    try{

        $query->execute(['id_acta'=>$id_acta]);
        
        return true;
        
        }catch(PDOException $e){
        
        return false;
        
        }
    }
}
  

}

?>