<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Usuarios_Model extends CI_Model {
   
    //Constructor 
    function __construct(){
        parent::__construct();
        //$this->load->library('encryption');
    }
     
    //Registrar cursos
    public function saveUsuarios($data)
    {   
       //Inicio transaccion    
       $this->db->trans_begin();  

       //recorrer el data. 
       $Opcion            = $data['Opcion'];         
       $Nombres           = $data['Nombres'];        
       $Apellidos         = $data['Apellidos'];      
       $IdTipoDocumento   = $data['IdTipoDocumento'];        
       $Identificacion    = $data['Identificacion'];        
       $Email             = $data['Email'];      
       $Celular           = $data['Celular'];      
       $IdEstado          = $data['IdEstado'];      
       $Login             = $data['Login'];      
       $Clave             = $data['Clave'];     
       $IdPerfil          = $data['IdPerfil'];      
       $IdArea            = $data['IdArea'];        
       $IdEstablecimiento = $data['IdEstablecimiento'];           

       //Llamo al procedimiento almacenado
       $misql='EXEC spInsertUsuario @Opcion            = '.$Opcion.', 
                                    @Nombres           = '.$Nombres.', 
                                    @Apellidos         = '.$Apellidos.',
                                    @IdTipoDocumento   = '.$IdTipoDocumento.', 
                                    @Identificacion    = '.$Identificacion.', 
                                    @Email             = '.$Email.',
                                    @Celular           = '.$Celular.',
                                    @IdEstado          = '.$IdEstado.',
                                    @Login             = '.$Login.',
                                    @Clave             = '.$Clave.',
                                    @IdPerfil          = '.$IdPerfil.',
                                    @IdArea            = '.$IdArea.', 
                                    @IdEstablecimiento = '.$IdEstablecimiento.'';
                                 
       //Envio el procedimiento y los parametros
       $result=$this->db->query($misql); 
       
       //Control de transacciones 
       if ($this->db->trans_status() === false) {
           $this->db->trans_rollback();
           return false;
       } else {
           $this->db->trans_commit();
           return true;
       }

    }

    //Actualizar cursos
    public function updateUsuarios($data)
    {
        //Inicio transaccion    
        $this->db->trans_begin();  

        //recorrer el data.
        $Opcion            = $data['Opcion'];         
        $Nombres           = $data['Nombres'];        
        $Apellidos         = $data['Apellidos'];      
        $IdTipoDocumento   = $data['IdTipoDocumento'];        
        $Identificacion    = $data['Identificacion'];        
        $Email             = $data['Email'];      
        $Celular           = $data['Celular'];      
        $IdEstado          = $data['IdEstado'];      
        $Login             = $data['Login'];      
        $Clave             = $data['Clave'];     
        $IdPerfil          = $data['IdPerfil'];      
        $IdArea            = $data['IdArea'];        
        $IdEstablecimiento = $data['IdEstablecimiento'];
        $IdUsuario         = $data['IdUsuario'];   
             
         
        //Llamo al procedimiento almacenado
        $misql='EXEC spUpdateUsuario @Opcion            = '.$Opcion.',
                                     @Nombres           = '.$Nombres.',
                                     @Apellidos         = '.$Apellidos.',  
                                     @IdTipoDocumento   = '.$IdTipoDocumento.', 
                                     @Identificacion    = '.$Identificacion.', 
                                     @Email             = '.$Email.', 
                                     @Celular           = '.$Celular.', 
                                     @IdEstado          = '.$IdEstado.', 
                                     @Login             = '.$Login.', 
                                     @Clave             = '.$Clave.',
                                     @IdPerfil          = '.$IdPerfil.',
                                     @IdArea            = '.$IdArea.',
                                     @IdEstablecimiento = '.$IdEstablecimiento.',
                                     @IdUsuario         = '.$IdUsuario.'';
                         
        //Envio el procedimiento y los parametros
        $result=$this->db->query($misql); 
         
        //Control de transacciones 
        if ($this->db->trans_status() === false) {
            $this->db->trans_rollback();
            return false;
        } else {
            $this->db->trans_commit();
            return true;
        }

    }

    // //Inactivar los usuarios del sistema
    // public function deleteUsuarios($data)
    // {
    //     //Inicio transaccion    
    //     $this->db->trans_begin(); 

    //     //recorrer el data.
    //     $id=$data['IdUsuario'];
    //     $this->db->where('IdUsuario', $id);
    //     $this->db->delete('Usuarios');
        
    //     //Control de transacciones 
    //     if ($this->db->trans_status() === false) {
    //         $this->db->trans_rollback();
    //         return false;
    //     } else {
    //         $this->db->trans_commit();
    //         return true;
    //     }
   
    // }

    // //Buscar usuario por codigo
    // public function getUsuario($data)
    // {
    //     //Utilizar la libreria
    //     $id=$data['IdUsuario'];

    //     //$id=$data[0];
    //     $this->db->select('*');
    //     $this->db->from('usuarios');
    //     $this->db->where('IdUsuario', $id);
    //     $query = $this->db->get();
    //     return $query;
        
    // }

    //Buscar usuario por parametros
    public function getUsuarioforParameter($limit=false,$offset=false,$data)
    { 
        $limit ? $this->db->limit($limit, $offset):'';

        $this->load->library('Consultar');
        $conn = $this->CI_Consultar->conexion(APP_SERVERNAME,APP_DBNAME,APP_USER,APP_PASS);
     
        $misql = "EXEC spGetUsuarios @Opcion         = ".$data[0].",
                                     @IdUsuario      = ".$data[1].",
                                     @Nombres        = ".$data[2].",
                                     @IdEstado       = ".$data[3].",
                                     @Identificacion = ".$data[4].",
                                     @Login          = ".$data[5].",
                                     @Clave          = ".$data[6]."";
        
        $results=$this->CI_Consultar->consultarsp($misql,$conn);
        $results = mb_convert_encoding($results ,'UTF-8', 'HTML-ENTITIES');
        return $results;
    }
    
    // //Buscar todos los usuarios
    // public function getUsuariosAll($data)
    // {
    //     //Utilizar la libreria
    //     $this->db->select("*,
    //                       CONCAT(Nombres,' ',Apellidos) as NomUsuario"  );
    //     $this->db->from('usuarios');

    //     $query = $this->db->get();
    //     return $query->result();
    // }

    // public function BuscarUsuarioIdentificacion ($limit=false,$offset=false,$data){
        
    //     $limit ? $this->db->limit($limit, $offset):'';
       
    //     $opcion         = $data[0];
    //     $identificacion = $data[1];
        

    //     switch (intval($opcion)){

    //         case 1: //Consultar todos los datos de todos los usuarios
    //             $this->db->select('*');
    //             $this->db->from('usuarios');
    //             $this->db->where('Identificacion', $identificacion);
    //         break;
    //     }

    //     $query = $this->db->get();
    //     return $query->result();

    // }
}