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

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

	//Crear Vehiculos ok
	public function saveVehiculos($data)
	{
		//Inicio transaccion    
        $this->db->trans_begin();  

        //recorrer el data. 
		$Opcion     = '1';      
		$Placa      = $data['Placa'];        
		$ClaseMat   = $data['ClaseMat'];        
		$IdMarca    = $data['IdMarca'];        
		$IdColor    = $data['IdColor'];        
		$IdTipo     = $data['IdTipo'];        
		$Modelo     = $data['Modelo'];        
		$Empresa    = $data['Empresa'];        
		$Nit        = $data['Nit'];      

		//Llamo al procedimiento almacenado
        $misql='EXEC spInsertVehiculos @Opcion     = '.$Opcion.', 
									   @Placa      = '.$Placa.',  
									   @ClaseMat   = '.$ClaseMat.', 
									   @IdMarca    = '.$IdMarca.', 
									   @IdColor    = '.$IdColor.', 
									   @IdTipo     = '.$IdTipo.', 
									   @Modelo     = '.$Modelo.', 
									   @Empresa    = '.$Empresa.', 
									   @Nit        = '.$Nit.'';
		
									//    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;
		}

    	// //Inicio transaccion    
        // $this->db->trans_begin();  
		
        // //Insertar el registro
        // $this->db->insert('vehiculos',$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;
        // }
    }

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

        //recorrer el data. 
		$Opcion         = '2';      
		$IdVehiculo     = $data['IdVehiculo'];        
		$IdHuesped      = $data['IdHuesped']; 
		// $IdReserva      = '0';
		$IdReserva      = $data['IdReserva'];  
		$ControlReserva = '1';           

		//Llamo al procedimiento almacenado
        $misql='EXEC spInsertVehiculos @Opcion         = '.$Opcion.', 
									   @IdVehiculo     = '.$IdVehiculo.',  
									   @IdHuesped      = '.$IdHuesped.',
									   @IdReserva      = '.$IdReserva.',
									   @ControlReserva = '.$ControlReserva.'';
		
		//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;
		}

	}

	//Crear Colores
	public function saveColores($data)
    {
        //Inicio transaccion    
        $this->db->trans_begin();  

        //recorrer el data. 
		$Opcion      = $data['Opcion'];         
		$NombreColor = $data['NombreColor'];        
		$CodigoMT    = $data['CodigoMT'];        
		$IdEstado    = $data['IdEstado'];             

		//Llamo al procedimiento almacenado
        $misql='EXEC spInsertColor @Opcion      = '.$Opcion.', 
								   @NombreColor = '.$NombreColor.', 
								   @CodigoMT    = '.$CodigoMT.', 
							 	   @IdEstado    = '.$IdEstado.'';
    
		//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;
		}     
	}

	//Crear Marcas
	public function saveMarcas($data)
    {
         //Inicio transaccion    
		 $this->db->trans_begin();  

		 //recorrer el data. 
		 $Opcion   = $data['Opcion'];         
		 $Marca    = $data['Marca'];        
		 $CodigoMT = $data['CodigoMT'];        
		 $IdEstado = $data['IdEstado'];             
 
		 //Llamo al procedimiento almacenado
		 $misql='EXEC spInsertMarca @Opcion   = '.$Opcion.', 
									@Marca    = '.$Marca.', 
									@CodigoMT = '.$CodigoMT.', 
									@IdEstado = '.$IdEstado.'';
	 
		 //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 saveVehiculoHuesped($data)
    {
        //Inicio transacción
        $this->db->trans_begin();
        //recorrer el dato
        $this->db->insert('vehhue',$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 Vehiculos ok
    public function updateVehiculos($data) 
    {
        //Inicio transaccion    
        $this->db->trans_begin();  

        //recorrer el data.
		$Opcion     = '1';
		$IdVehiculo = $data['IdVehiculo'];        
		$Placa      = $data['Placa'];        
		$ClaseMat   = $data['ClaseMat'];        
		$IdMarca    = $data['IdMarca'];        
		$IdColor    = $data['IdColor'];        
		$IdTipo     = $data['IdTipo'];        
		$Modelo     = $data['Modelo'];        
		$Empresa    = $data['Empresa'];        
		$Nit        = $data['Nit'];      
		
		//Llamo al procedimiento almacenado
        $misql='EXEC spUpdateVehiculos @Opcion     = '.$Opcion.',
									   @IdVehiculo = '.$IdVehiculo.',
									   @Placa      = '.$Placa.',  
									   @ClaseMat   = '.$ClaseMat.', 
									   @IdMarca    = '.$IdMarca.', 
									   @IdColor    = '.$IdColor.', 
									   @IdTipo     = '.$IdTipo.', 
									   @Modelo     = '.$Modelo.', 
									   @Empresa    = '.$Empresa.', 
									   @Nit        = '.$Nit.'';
									   
		
		//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;
		}
        // $id = $data['IdVehiculo'];

		// $this->db->where('IdVehiculo', $id);
        // $this->db->update('Vehiculos', $data);
        
        // //Control de transacciones 
        // if ($this->db->trans_status() === false) {
        //     $this->db->trans_rollback();
        //     return false;
        // }else{
        //     $this->db->trans_commit();
        //     return true;
        // }
    }

	//Actualizar Vehiculos en la reserva ok
	public function updateVehiculoReserva($data) 
	{
		//Inicio transaccion    
		$this->db->trans_begin();  
	
		//recorrer el data.
		$Opcion     = $data['Opcion'];
		$IdVehiculo = $data['IdVehiculo'];        
		$IdReserva  = $data['IdReserva'];
		$IdHuesped  = $data['IdHuesped'];    
			
		//Llamo al procedimiento almacenado
		$misql='EXEC spUpdateVehiculos  @Opcion     = '.$Opcion.',
										@IdVehiculo = '.$IdVehiculo.',
										@IdReserva  = '.$IdReserva.',
										@IdHuesped  = '.$IdHuesped.'';
										   
			// 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;
			}
	}

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

		 //recorrer el data.
		 $Opcion      = '1';
		 $NombreColor = $data['NombreColor'];        
		 $CodigoMT    = $data['CodigoMT'];        
		 $IdEstado    = $data['IdEstado'];        
		 $IdColor     = $data['IdColor'];        
		  
		 //Llamo al procedimiento almacenado
		 $misql='EXEC spUpdateColores @Opcion      = '.$Opcion.',
									  @NombreColor = '.$NombreColor.',
									  @CodigoMT    = '.$CodigoMT.',  
									  @IdEstado    = '.$IdEstado.', 
									  @IdColor     = '.$IdColor.'';
						 
		 //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 Marcas
    public function updateMarcas($data)
    {
       //Inicio transaccion    
		 $this->db->trans_begin();  

		 //recorrer el data.
		 $Opcion      = '1';
		 $Marca = $data['Marca'];        
		 $CodigoMT    = $data['CodigoMT'];        
		 $IdEstado    = $data['IdEstado'];        
		 $IdMarca     = $data['IdMarca'];        
		  
		 //Llamo al procedimiento almacenado
		 $misql='EXEC spUpdateMarcas @Opcion   = '.$Opcion.',
									 @Marca    = '.$Marca.',
									 @CodigoMT = '.$CodigoMT.',  
									 @IdEstado = '.$IdEstado.', 
									 @IdMarca  = '.$IdMarca.'';
					 
		 //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 Vehiculo por parametro
    public function getVehiculosforParameter($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 spGetVehiculos @Opcion           = ".$data[0].",
                                      @IdVehiculo       = ".$data[1].",
									  @Placa            = ".$data[2].",
									  @Marca            = ".$data[3].",
									  @Color            = ".$data[4].",
									  @Identificacion   = ".$data[5].",
									  @IdMarca          = ".$data[6].",
									  @IdColor          = ".$data[7].",
									  @IdClaseMatricula = ".$data[8]."";
					// 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];
		// $Placa  = $data[1];
        // $Tipo   = $data[2];
        // $Marca  = $data[3];

		// //realizar la consulta
        // switch (intval($Opcion))
		// {
       

        //     case 2: //Consultar todos los datos de todos los huesped
        //         $this->db->select( "v.IdVehiculo,
		// 							v.Placa,
		// 							v.ClaseMat,
		// 							v.IdMarca,
		// 							v.IdColor,
		// 							v.IdTipo,
		// 							v.Modelo,
		// 							v.Empresa,
		// 							v.Nit,
		// 							m.Marca,
		// 							c.NomColor,
		// 							t.TipoVehiculo,
		// 							h.IdHuesped,
		// 							h.Nombres,
		// 							h.Apellidos,
		// 							h.Identificacion,
		// 							h.Movil,
		// 							h.CorreoElectronico,
		// 							CONCAT(h.Nombres, ' ', h.Apellidos) as NomHue,
		// 							o.NombreClase,
		// 							CASE v.ClaseMat WHEN 1 THEN 'PARTICULAR' else 'PUBLICO' end as NomClase");
		// 		$this->db->from('vehiculos as v');  
		// 		$this->db->join('marcas as m','v.IdMarca = m.IdMarca','left');  
		// 		$this->db->join('colorveh as c','v.IdColor = c.IdColor','left');
		// 		$this->db->join('tiposveh as t','v.IdTipo = t.IdTipo','left');
		// 		$this->db->join('huesped as h','v.IdHuesped = h.IdHuesped','left');
		// 		$this->db->join('claseocupacion as o','v.ClaseMat = o.IdClaseOcupacion','left');
        //     break;

        //     case 3: //Consultar todos los datos de todos los huesped
        //         if($Placa !='null' and $Tipo =='null' and $Marca=='null')
		// 		{
        //             $this->db->select( "v.IdVehiculo,
		// 								v.Placa,
		// 								v.ClaseMat,
		// 								v.IdMarca,
		// 								v.IdColor,
		// 								v.IdTipo,
		// 								v.Modelo,
		// 								v.Empresa,
		// 								v.Nit,
		// 								m.Marca,
		// 								c.NomColor,
		// 								t.TipoVehiculo,
		// 								h.IdHuesped,
		// 								h.Nombres,
		// 								h.Apellidos,
		// 								h.Identificacion,
		// 								h.Movil,
		// 								h.CorreoElectronico,
		// 								CONCAT(h.Nombres, ' ', h.Apellidos) as NomHue,
		// 								o.NombreClase,
		// 								CASE v.ClaseMat WHEN 1 THEN 'PARTICULAR' else 'PUBLICO' end as NomClase");
        //             $this->db->from('vehiculos as v');  
        //             $this->db->join('marcas as m','v.IdMarca = m.IdMarca','left');  
        //             $this->db->join('colorveh as c','v.IdColor = c.IdColor','left');
        //             $this->db->join('tiposveh as t','v.IdTipo = t.IdTipo','left');
        //             $this->db->join('huesped as h','v.IdHuesped = h.IdHuesped','left');
		// 			$this->db->join('claseocupacion as o','v.ClaseMat = o.IdClaseOcupacion','left');
        //             $this->db->where('v.Placa',$Placa);
        //         }

        //         if($Placa =='null' and $Tipo !='null' and $Marca=='null')
		// 		{
        //             $this->db->select( "v.IdVehiculo,
		// 								v.Placa,
		// 								v.ClaseMat,
		// 								v.IdMarca,
		// 								v.IdColor,
		// 								v.IdTipo,
		// 								v.Modelo,
		// 								v.Empresa,
		// 								v.Nit,
		// 								m.Marca,
		// 								c.NomColor,
		// 								t.TipoVehiculo,
		// 								h.IdHuesped,
		// 								h.Nombres,
		// 								h.Apellidos,
		// 								h.Identificacion,
		// 								h.Movil,
		// 								h.CorreoElectronico,
		// 								CONCAT(h.Nombres, ' ', h.Apellidos) as NomHue,
		// 								o.NombreClase,
		// 								CASE v.ClaseMat WHEN 1 THEN 'PARTICULAR' else 'PUBLICO' end as NomClase");
        //             $this->db->from('vehiculos as v');  
        //             $this->db->join('marcas as m','v.IdMarca = m.IdMarca','left');  
        //             $this->db->join('colorveh as c','v.IdColor = c.IdColor','left');
        //             $this->db->join('tiposveh as t','v.IdTipo = t.IdTipo','left');
        //             $this->db->join('huesped as h','v.IdHuesped = h.IdHuesped','left');
		// 			$this->db->join('claseocupacion as o','v.ClaseMat = o.IdClaseOcupacion','left');
        //             $this->db->where('v.ClaseMat',$Tipo);
        //         }

        //         if($Placa =='null' and $Tipo =='null' and $Marca!='null')
		// 		{
        //             $this->db->select( "v.IdVehiculo,
		// 								v.Placa,
		// 								v.ClaseMat,
		// 								v.IdMarca,
		// 								v.IdColor,
		// 								v.IdTipo,
		// 								v.Modelo,
		// 								v.Empresa,
		// 								v.Nit,
		// 								m.Marca,
		// 								c.NomColor,
		// 								t.TipoVehiculo,
		// 								h.IdHuesped,
		// 								h.Nombres,
		// 								h.Apellidos,
		// 								h.Identificacion,
		// 								h.Movil,
		// 								h.CorreoElectronico,
		// 								CONCAT(h.Nombres, ' ', h.Apellidos) as NomHue,
		// 								o.NombreClase,
		// 								CASE v.ClaseMat WHEN 1 THEN 'PARTICULAR' else 'PUBLICO' end as NomClase");
        //             $this->db->from('vehiculos as v');  
        //             $this->db->join('marcas as m','v.IdMarca = m.IdMarca','left');  
        //             $this->db->join('colorveh as c','v.IdColor = c.IdColor','left');
        //             $this->db->join('tiposveh as t','v.IdTipo = t.IdTipo','left');
        //             $this->db->join('huesped as h','v.IdHuesped = h.IdHuesped','left');
		// 			$this->db->join('claseocupacion as o','v.ClaseMat = o.IdClaseOcupacion','left');
        //             $this->db->where('m.Marca',$Marca);
        //         }

		// 		if($Placa =='null' and $Tipo =='null' and $Marca =='null')
		// 		{
        //             $this->db->select( "v.IdVehiculo,
		// 								v.Placa,
		// 								v.ClaseMat,
		// 								v.IdMarca,
		// 								v.IdColor,
		// 								v.IdTipo,
		// 								v.Modelo,
		// 								v.Empresa,
		// 								v.Nit,
		// 								m.Marca,
		// 								c.NomColor,
		// 								t.TipoVehiculo,
		// 								h.IdHuesped,
		// 								h.Nombres,
		// 								h.Apellidos,
		// 								h.Identificacion,
		// 								h.Movil,
		// 								h.CorreoElectronico,
		// 								CONCAT(h.Nombres, ' ', h.Apellidos) as NomHue,
		// 								o.NombreClase,
		// 								CASE v.ClaseMat WHEN 1 THEN 'PARTICULAR' else 'PUBLICO' end as NomClase");
        //             $this->db->from('vehiculos as v');  
        //             $this->db->join('marcas as m','v.IdMarca = m.IdMarca','left');  
        //             $this->db->join('colorveh as c','v.IdColor = c.IdColor','left');
        //             $this->db->join('tiposveh as t','v.IdTipo = t.IdTipo','left');
        //             $this->db->join('huesped as h','v.IdHuesped = h.IdHuesped','left');
		// 			$this->db->join('claseocupacion as o','v.ClaseMat = o.IdClaseOcupacion','left');
        //         }
        //     break;

        //     case 4: //Consultar todos los datos de todos los huesped
        //         $this->db->select('*');
        //         $this->db->from('colorveh');
        //     break;

        //     case 5: //Consultar todos los datos de todos los huesped
        //         $this->db->select('*');
        //         $this->db->from('tiposveh');
        //     break;

        // } 

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

	//Buscar Vehiculo por marca
    public function getVehiculosId($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 spGetVehiculos @Opcion     = ".$data[0].",
                                      @IdVehiculo = ".$data[1].",
									  @Placa      = ".$data[2].",
									  @Marca      = ".$data[3].",
									  @Color      = ".$data[4]."";
        
        $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];
       	// $VehiculoId = $data[1];
      
       	// //realizar la consulta
       	// switch (intval($Opcion))
       	// {
		// 	case 1: //Consultar todos los datos de todos los huesped
		// 		$this->db->select( "v.IdVehiculo,
		// 							v.Placa,
		// 							v.ClaseMat,
		// 							v.IdMarca,
		// 							v.IdTipo,
		// 							v.Modelo,
		// 							v.Empresa,
		// 							v.Nit,
		// 							m.Marca,
		// 							v.IdColor,
		// 							c.NomColor,
		// 							t.TipoVehiculo,
		// 							h.IdHuesped,
		// 							h.Nombres,
		// 							h.Apellidos,
		// 							h.Identificacion,
		// 							h.Movil,
		// 							h.CorreoElectronico,
		// 							CONCAT(h.Nombres, ' ', h.Apellidos) as NomHue,
		// 							CASE v.ClaseMat WHEN 1 THEN 'PARTICULAR' else 'PUBLICO' end as NomClase");
		// 		$this->db->from('vehiculos as v');  
		// 		$this->db->join('marcas as m','v.IdMarca = m.IdMarca','left');  
		// 		$this->db->join('colorveh as c','v.IdColor = c.IdColor','left');
		// 		$this->db->join('tiposveh as t','v.IdTipo = t.IdTipo','left');
		// 		$this->db->join('huesped as h','v.IdHuesped = h.IdHuesped','left');
		// 		$this->db->where('v.IdVehiculo',$VehiculoId);
		// 	break;

       	// } 

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

	//Buscar Vehiculo por marca
    public function getVehiculosMarca($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 spGetVehiculos @Opcion           = ".$data[0].",
                                      @IdVehiculo       = ".$data[1].",
									  @Placa            = ".$data[2].",
									  @Marca            = ".$data[3].",
									  @Color            = ".$data[4].",
									  @Identificacion   = ".$data[5].",
									  @IdMarca          = ".$data[6].",
									  @IdColor          = ".$data[7].",
									  @IdClaseMatricula = ".$data[8]."";
        
		
        $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];
		// $IdMarca = $data[1];
		// $Marca   = $data[2];
		
		// //realizar la consulta
		// switch (intval($Opcion))
		// {
		

		// 	case 2: //Consultar dato por color
		// 		$this->db->select( 'm.*,
		// 							CASE m.EstadoMarca WHEN 1 THEN "ACTIVO" else "INACTIVO" end as EstadoM',
		// 							FALSE);
		// 		$this->db->from('marcas as m');
		// 		$this->db->where("Marca LIKE '$Marca%'");
		// 	break;

		// 	case 3: //Consultar Colores por Estado y Limite
		// 		$this->db->select( 'm.*,
		// 							CASE m.EstadoMarca WHEN 1 THEN "ACTIVO" else "INACTIVO" end as EstadoM',
		// 							FALSE);
		// 		$this->db->from('marcas as m');
		// 		$this->db->where('EstadoMarca',1);
		// 		$this->db->limit(50);
		// 	break;

		// 	case 4: //Consultar dato por color
		// 		$this->db->select( 'm.*,
		// 							CASE m.EstadoMarca WHEN 1 THEN "ACTIVO" else "INACTIVO" end as EstadoM',
		// 							FALSE);
		// 		$this->db->from('marcas as m');
		// 		$this->db->where('IdMarca', $IdMarca);
		// 	break;

		// } 

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

	//Buscar Vehiculo por color
    public function getVehiculosColor($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 spGetVehiculos @Opcion           = ".$data[0].",
                                      @IdVehiculo       = ".$data[1].",
									  @Placa            = ".$data[2].",
									  @Marca            = ".$data[3].",
									  @Color            = ".$data[4].",
									  @Identificacion   = ".$data[5].",
									  @IdMarca          = ".$data[6].",
									  @IdColor          = ".$data[7].",
									  @IdClaseMatricula = ".$data[8]."";
		
        $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];
		// $IdColor = $data[1];
		// $Color   = $data[2];
      
       	// //realizar la consulta
		// switch (intval($Opcion))
		// {
		

		// 	case 2: //Consultar Colores por nombre
		// 		$this->db->select( 'c.*,
		// 							CASE c.EstadoColor WHEN 1 THEN "ACTIVO" else "INACTIVO" end as EstadoC',
		// 							FALSE);
		// 		$this->db->from('colorveh as c');
		// 		$this->db->where("NomColor LIKE '$Color%'");
		// 	break;

		// 	case 3: //Consultar Colores por Estado y Limite
		// 		$this->db->select( 'c.*,
		// 							CASE c.EstadoColor WHEN 1 THEN "ACTIVO" else "INACTIVO" end as EstadoC',
		// 							FALSE);
		// 		$this->db->from('colorveh as c');
		// 		$this->db->where('EstadoColor',1);
		// 		$this->db->limit(50);
		// 	break;

		// 	case 4: //Consultar Colores por nombre
		// 		$this->db->select( 'c.*,
		// 							CASE c.EstadoColor WHEN 1 THEN "ACTIVO" else "INACTIVO" end as EstadoC',
		// 							FALSE);
		// 		$this->db->from('colorveh as c');
		// 		$this->db->where('IdColor', $IdColor);
		// 	break;

      	// } 

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

	//buscar Vehiculo por Identificacion ok
    public function getVehIdentificacion($limit=null,$offset=null,$data)
    {

		$this->load->library('Consultar');

		//Utilizar la libreria
		$Opcion         = $data[0];
		$Identificacion = $data[1];

        $conn = $this->CI_Consultar->conexion(APP_SERVERNAME,APP_DBNAME,APP_USER,APP_PASS);
     
        $misql = "EXEC spGetVehiculos @Opcion         = ".$data[0].",
                                      @Identificacion = ".$data[1]."";
        
									
        $results=$this->CI_Consultar->consultarsp($misql,$conn);
		$results = mb_convert_encoding($results ,'UTF-8', 'HTML-ENTITIES');
        return $results;
    }

	//Buscar Vehiculo por Reserva
    public function getVehiculos($limit=null,$offset=null,$data)
    {
       //Utilizado para la paginacion?
       $limit ? $this->db->limit($limit, $offset):'';
       
       //Utilizar la libreria
       $Opcion    = $data[0];
       $IdReserva = $data[1];
      
       //realizar la consulta
       switch (intval($Opcion))
       {
        
           case 1: //Consultar todos los datos de todos los huesped
               $this->db->select('vh.Placa, vh.ClaseMat ');
               $this->db->from('reserva as r');
               $this->db->join('vehiculos as vh','vh.IdVehiculo = v.IdVehiculo','left');
               $this->db->where('r.IdReserva',$IdReserva);
           break;

       } 

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

	//Buscar Vehiculo por Tipo
    public function getVehiculosTipos($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 spGetVehiculos @Opcion     = ".$data[0].",
                                      @IdVehiculo = ".$data[1].",
									  @Placa      = ".$data[2]."";
        
        $results=$this->CI_Consultar->consultarsp($misql,$conn);
		$results = mb_convert_encoding($results ,'UTF-8', 'HTML-ENTITIES');
        return $results;
    }

    //Borrar Huespedes
    public function deleteColores($IdColor)
    {
		$this->load->library('Consultar');
        $conn = $this->CI_Consultar->conexion(APP_SERVERNAME,APP_DBNAME,APP_USER,APP_PASS);
     
        $misql = 'EXEC spDeleteColor @IdColor = '.$IdColor.'';
       
        $results = $this->CI_Consultar->consultarsp($misql,$conn);
        if ($this->db->trans_status() === false) {
            $this->db->trans_rollback();
            return false;
        } else {
            $this->db->trans_commit();
            return true;
        }

    }

	//Borrar Huespedes
	public function deleteMarcas($IdMarca)
	{
		$this->load->library('Consultar');
        $conn = $this->CI_Consultar->conexion(APP_SERVERNAME,APP_DBNAME,APP_USER,APP_PASS);
     
        $misql = 'EXEC spDeleteMarca @IdMarca = '.$IdMarca.'';
       
        $results = $this->CI_Consultar->consultarsp($misql,$conn);
        if ($this->db->trans_status() === false) {
            $this->db->trans_rollback();
            return false;
        } else {
            $this->db->trans_commit();
            return true;
        }
   	}

	//Buscar en VehiculosHuesped
    public function getVehiculosHuesped($data)
    {
        $this->load->library('Consultar');
        $conn = $this->CI_Consultar->conexion(APP_SERVERNAME,APP_DBNAME,APP_USER,APP_PASS);
        
        $misql = 'EXEC spGetVehiculosHuesped @Opcion         = '.$data[0].',
                                          	 @IdVehiculo     = '.$data[1].',
                                             @IdHuesped      = '.$data[2].',
											 @IdReserva      = '.$data[3].',
											 @ControlReserva = '.$data[4].'';

        $results=$this->CI_Consultar->consultarsp($misql,$conn);
        $results = mb_convert_encoding($results ,'UTF-8', 'HTML-ENTITIES');
        return $results;
	}

    //Buscar CodigoMT del color
    public function getCodigoMTColor($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 spGetColores   @Opcion      = ".$data[0].",
                                      @IdColor     = ".$data[1].",
									  @NombreColor = ".$data[2].",
									  @CodigoMT    = ".$data[3].",
									  @IdEstado    = ".$data[4]."";
		
                                    //   print_r($misql); die();
        $results=$this->CI_Consultar->consultarsp($misql,$conn);
		$results = mb_convert_encoding($results ,'UTF-8', 'HTML-ENTITIES');
        return $results;
    }

    //Buscar CodigoMT de la marca
    public function getCodigoMTMarca($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 spGetMarcas  @Opcion   = ".$data[0].",
                                    @IdMarca  = ".$data[1].",
									@Marca    = ".$data[2].",
									@CodigoMT = ".$data[3].",
									@IdEstado = ".$data[4]."";
		
                                    //   print_r($misql); die();
        $results=$this->CI_Consultar->consultarsp($misql,$conn);
		$results = mb_convert_encoding($results ,'UTF-8', 'HTML-ENTITIES');
        return $results;
    }
	   
}
?>