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

class Huespedes_Model extends CI_Model
{
    //Constructor 
    function __construct()
    {
        parent::__construct();
        //$this->load->library('encryption');
    }

	//Registrar Huespedes
    public function saveHuespedes($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'];        
		$FechaNac          = $data['FechaNac'];        
		$LugarNac          = $data['LugarNac'];      
		$Genero            = $data['Genero'];      
		$Telefono          = $data['Telefono'];      
		$Movil             = $data['Movil'];      
		$Nacionalidad      = $data['Nacionalidad'];      
		$IdOcupacion       = $data['IdOcupacion'];      
		$Email             = $data['Email'];      
		$CiudadResidencia  = $data['CiudadResidencia'];      
		$CiudadProcedencia = $data['CiudadProcedencia'];      
		$Direccion         = $data['Direccion'];      

		//Llamo al procedimiento almacenado
        $misql='EXEC spInsertHuesped @Opcion            = '.$Opcion.', 
									 @Nombres           = '.$Nombres.', 
									 @Apellidos         = '.$Apellidos.', 
									 @IdTipoDocumento   = '.$IdTipoDocumento.', 
									 @Identificacion    = '.$Identificacion.', 
									 @FechaNac          = '.$FechaNac.', 
									 @LugarNac          = '.$LugarNac.',
									 @Genero            = '.$Genero.',
                                     @Telefono          = '.$Telefono.',
									 @Movil             = '.$Movil.',
									 @Nacionalidad      = '.$Nacionalidad.',
									 @IdOcupacion       = '.$IdOcupacion.',
									 @Email             = '.$Email.',
									 @CiudadResidencia  = '.$CiudadResidencia.',
									 @CiudadProcedencia = '.$CiudadProcedencia.',
									 @Direccion         = '.$Direccion.'';
        // print_r($misql); die();
		//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;
		}     
    }

    // public function saveHuespedesNuevo($data)
    // {
    //     //Inicio transaccion    
    //     $this->db->trans_begin();  
        
	// 	//Insertar el registro
    //     $this->db->insert('huesped',$data);
    //     $id = $this->db->insert_id();

    //     //Control de transacciones 
    //     if ($this->db->trans_status() === false) {
    //         $this->db->trans_rollback();
    //         return false;
    //     } else {
    //         $this->db->trans_commit();
    //         return $id;
    //     }
              
    // }

    //Actualizar Huespedes ok
    public function updateHuespedes($data)
    {
        //Inicio transaccion    
        $this->db->trans_begin();  

        //recorrer el data.
        $Opcion            = '1';
        $IdHuesped         = $data['IdHuesped'];        
        $Nombres           = $data['Nombres'];        
        $Apellidos         = $data['Apellidos'];        
        $IdTipoDocumento   = $data['IdTipoDocumento'];        
        $Identificacion    = $data['Identificacion'];        
        $FechaNac          = $data['FechaNac'];        
        $LugarNac          = $data['LugarNac'];        
        $Genero            = $data['Genero'];        
        $Telefono          = $data['Telefono'];      
        $Movil             = $data['Movil'];      
        $Nacionalidad      = $data['Nacionalidad'];      
        $Ocupacion         = $data['Ocupacion'];      
        $Email             = $data['Email'];      
        $CiudadResidencia  = $data['CiudadResidencia'];      
        $CiudadProcedencia = $data['CiudadProcedencia']; 
        $Direccion         = $data['Direccion']; 
             
         
        //Llamo al procedimiento almacenado
        $misql='EXEC spUpdateHuesped @Opcion            = '.$Opcion.',
                                     @IdHuesped         = '.$IdHuesped.',
                                     @Nombres           = '.$Nombres.',  
                                     @Apellidos         = '.$Apellidos.', 
                                     @IdTipoDocumento   = '.$IdTipoDocumento.', 
                                     @Identificacion    = '.$Identificacion.', 
                                     @FechaNac          = '.$FechaNac.', 
                                     @LugarNac          = '.$LugarNac.', 
                                     @Genero            = '.$Genero.', 
                                     @Telefono          = '.$Telefono.',
                                     @Movil             = '.$Movil.',
                                     @Nacionalidad      = '.$Nacionalidad.',
                                     @IdOcupacion       = '.$Ocupacion.',
                                     @Email             = '.$Email.',
                                     @CiudadResidencia  = '.$CiudadResidencia.',
                                     @CiudadProcedencia = '.$CiudadProcedencia.',
                                     @Direccion         = '.$Direccion.'';

        //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;
        }
    }

    // //Buscar Huespedes
    // public function getHuespedes($data)
    // {
    //     //Realizar la Busqueda
    //     $this->db->select('*');
    //     $this->db->from('huesped');
       
    //     $query = $this->db->get();
	// 	return $query->result();

    // }

    //Buscar Huespedes por parametros ok
 	public function getHuespedesforParameter($limit=null,$offset=null,$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 spGetHuesped @Opcion         = ".$data[0].",
                                    @IdHuesped      = ".$data[1].",
                                    @Identificacion = ".$data[2].",
                                    @Nombres        = ".$data[3].",
                                    @Apellidos      = ".$data[4].",
                                    @Movil          = ".$data[5]."";
        // print_r($misql);
        // die();
        $results=$this->CI_Consultar->consultarsp($misql,$conn);
        $results = mb_convert_encoding($results ,'UTF-8', 'HTML-ENTITIES');
        return $results;
		// //Utilizado para la paginacion?
		// $limit ? $this->db->limit($limit, $offset):'';
		
		// //Utilizar la libreria
        // $Opcion         = $data[0];
		// $Huesped        = $data[1];
        // $Identificacion = $data[2];
        // $Nombres        = $data[3];
        // $Apellidos      = $data[4];
        // $Movil          = $data[5];
		
		// //realizar la consulta
        // switch (intval($Opcion))
		// {
        //     case 1: //Consultar todos los datos de todos los huesped
        //         $this->db->select('hs.*, td.Nombre as NomDoc, ps.Nombre as NomPais');
        //         $this->db->from('huesped as hs');
		// 		$this->db->join('tipodocumento as td','td.IdTipoDoc = hs.IdTipoDoc');
		// 		$this->db->join('paises as ps','ps.IdPais = hs.Nacionalidad', 'left');
        //     break;
            
        //     case 2://Consultar por identificacion
        //         $this->db->select( "hs.*, 
		// 							td.Nombre as NomDoc, 
		// 							ps.Nombre as NomPais,
		// 							vh.Placa");
        //         $this->db->from('huesped as hs');
		// 		$this->db->join('tipodocumento as td','td.IdTipoDoc = hs.IdTipoDoc');
		// 		$this->db->join('paises as ps','ps.IdPais = hs.Nacionalidad', 'left');
		// 		$this->db->join('vehiculos as vh','vh.IdVehiculo = hs.IdVehiculo', 'left');
        //         $this->db->where('hs.Identificacion', $Identificacion);
        //     break;

        //     case 3: //Seleccionar huesped por parametros de busqueda
		// 		//Por Identificacion
        //         if($Identificacion != 'null' and $Nombres == 'null' and $Apellidos == 'null'){
        //             $this->db->select("hs.*, td.Nombre as NomDoc, ps.Nombre as NomPais");
        //             $this->db->from('huesped as hs');
		// 			$this->db->join('tipodocumento as td','td.IdTipoDoc = hs.IdTipoDoc');
		// 			$this->db->join('paises as ps','ps.IdPais = hs.Nacionalidad', 'left');
        //             $this->db->where('hs.Identificacion', $Identificacion);
        //         }

		// 		//Por Nombres
        //         if($Identificacion == 'null' and $Nombres != 'null' and $Apellidos == 'null'){
        //             $this->db->select("hs.*, td.Nombre as NomDoc, ps.Nombre as NomPais");
        //             $this->db->from('huesped as hs');
		// 			$this->db->join('tipodocumento as td','td.IdTipoDoc = hs.IdTipoDoc');
		// 			$this->db->join('paises as ps','ps.IdPais = hs.Nacionalidad', 'left');
        //             $this->db->like('hs.Nombres', $Nombres);
        //         }

		// 		//Por Apellidos
        //         if($Identificacion == 'null' and $Nombres == 'null' and $Apellidos != 'null'){
        //             $this->db->select("hs.*, td.Nombre as NomDoc, ps.Nombre as NomPais");
        //             $this->db->from('huesped as hs');
		// 			$this->db->join('tipodocumento as td','td.IdTipoDoc = hs.IdTipoDoc');
		// 			$this->db->join('paises as ps','ps.IdPais = hs.Nacionalidad', 'left');
        //             $this->db->like('hs.Apellidos', $Apellidos);
        //         }
                
		// 		//Recargar Pagina
        //         if($Identificacion == 'null' and $Nombres == 'null' and $Apellidos == 'null'){
        //             $this->db->select('hs.*, td.Nombre as NomDoc, ps.Nombre as NomPais');
        //         	$this->db->from('huesped as hs.');
		// 			$this->db->join('tipodocumento as td','td.IdTipoDoc = hs.IdTipoDoc');
		// 			$this->db->join('paises as ps','ps.IdPais = hs.Nacionalidad', 'left');
        //         }
        //     break;
                
        //     case 4://Validar la huesped
        //         $this->db->select('hs.*, td.Nombre as NomDoc, ps.Nombre as NomPais');
        //         $this->db->from('huesped as hs');
		// 		$this->db->join('tipodocumento as td','td.IdTipoDoc = hs.IdTipoDoc');
		// 		$this->db->join('paises as ps','ps.IdPais = hs.Nacionalidad', 'left');
        //         $this->db->where('hs.Apellidos', $Apellidos);
        //     break;
			 
		// 	case 5://Consultar por Reserva
		// 		$this->db->select("hs.*, td.Nombre as NomDoc, ps.Nombre as NomPais");
		// 		$this->db->from('huesped as hs');
		// 		$this->db->join('tipodocumento as td','td.IdTipoDoc = hs.IdTipoDoc');
		// 		$this->db->join('paises as ps','ps.IdPais = hs.Nacionalidad', 'left');
		// 		$this->db->where('hs.IdHuesped', $Huesped);
		// 	break;

        //     case 6://Consultar por Reserva
        //         $this->db->select("hs.*, td.Nombre as NomDoc, td.Nombre as NomDoc, ps.Nombre as NomPais,count(IdHuesped) as Cantidad");
        //         $this->db->from('huesped as hs');
		// 		$this->db->join('tipodocumento as td','td.IdTipoDoc = hs.IdTipoDoc');
		// 		$this->db->join('paises as ps','ps.IdPais = hs.Nacionalidad', 'left');
        //         $this->db->where('hs.Identificacion', $Identificacion);
		// 	break;

		// 	case 7://Consultar por movil
        //         $this->db->select( "hs.*, 
		// 							td.Nombre as NomDoc,
		// 							ps.Nombre as NomPais,
		// 							vh.Placa");
        //         $this->db->from('huesped as hs');
		// 		$this->db->join('tipodocumento as td','td.IdTipoDoc = hs.IdTipoDoc');
		// 		$this->db->join('paises as ps','ps.IdPais = hs.Nacionalidad', 'left');
		// 		$this->db->join('vehiculos as vh','vh.IdVehiculo = hs.IdVehiculo', 'left');
        //         $this->db->where('hs.Movil', $Movil);
        //     break;
	
        // } 

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

	// //Borrar Huespedes
    // public function deleteHuespedes($Data)
    // {
    //     //Inicio transaccion    
    //     $this->db->trans_begin();  

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

    // }
}
?>
