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

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

    //Buscar Reservas por codigo
    public function getCheckforParameter($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 spGetCheckIn  @Opcion            = ".$data[0].",
                                     @IdReserva         = ".$data[1].",
                                     @IdEstado          = ".$data[2].",
                                     @FechaIni          = ".$data[3].",
                                     @FechaFin          = ".$data[4].",
                                     @Identificacion    = ".$data[5].",
                                     @Movil             = ".$data[6].",
									 @IdVehiculo        = ".$data[7].",
									 @Placa             = ".$data[8].",
                                     @IdEstablecimiento = ".$data[9]."";
		// print_r($misql);die();
        $results=$this->CI_Consultar->consultarsp($misql,$conn);
		$results = mb_convert_encoding($results ,'UTF-8', 'HTML-ENTITIES');
        return $results;
    }

    public function  BuscarLlenarRegistro($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 spGetLlenarRegistro  @Opcion    = ".$data[0].",
                                            @IdReserva = ".$data[1]."";
		// print_r($misql);die();
        $results=$this->CI_Consultar->consultarsp($misql,$conn);
		$results = mb_convert_encoding($results ,'UTF-8', 'HTML-ENTITIES');
        return $results;

        // $limit ? $this->db->limit($limit, $offset):'';
            
        //Utilizar datos
        // $Opcion     = $data[0];
        // $IdReserva  = $data[1];

        // switch (intval($Opcion)){
                
        //     case 1://Consultar todos las reservas del dia 
        //         $this->db->select( 'e.Nombre as NomHotel,
        //                             e.Nit as NitHotel,
        //                             e.Rnt as RntHotel,
        //                             h.Identificacion,
        //                             t.Nombre as TipoDoc,
        //                             h.Nombres,
        //                             h.Apellidos,
        //                             h.FechaNac,
        //                             h.Genero,
        //                             p.Nombre as Nacionalidad,
        //                             h2.Nombres as NomHabitacion,
        //                             r.Motivo,
        //                             h.Ocupacion,
        //                             cr.Nombre as Ciudad_Res,
        //                             dr.Nombre as Dpto_Res,
        //                             pr.Nombre as Pais_Res,
        //                             cp.Nombre as Ciudad_Pro,
        //                             dp.Nombre as Dpto_Pro,
        //                             pp.Nombre as Pais_Pro,
        //                             r.FechaIni,
        //                             r.FechaFin,
        //                             r.ValorHabitacion,
        //                             r.Acompanantes,
		// 							r.IdTipFac,
        //                             m.Nombre as MedioPago,
        //                             h2.NumeroHabitacion');
        //         $this->db->from('establecimientos e');
        //         $this->db->join('reserva r','r.Establecimiento = e.IdEstablecimiento', 'left');
        //         $this->db->join('huesped h','h.IdHuesped = r.IdHuesped','left');
        //         $this->db->join('tipodocumento t','t.IdTipoDoc = h.IdTipoDoc', 'left');
        //         $this->db->join('paises p','p.IdPais = h.Nacionalidad', 'left');
        //         $this->db->join('habitacion h2','h2.IdHabitacion = r.IdHabitacion', 'left');
        //         $this->db->join('ciudades cr','cr.IdCiudad = h.Ciudad_Residencia', 'left');
        //         $this->db->join('departamentos dr','dr.IdDepartamento = cr.IdDepartamento', 'left');
        //         $this->db->join('paises pr','pr.IdPais = dr.IdPais', 'left');
        //         $this->db->join('ciudades cp','cp.IdCiudad = h.Ciudad_Residencia', 'left');
        //         $this->db->join('departamentos dp','dp.IdDepartamento = cr.IdDepartamento', 'left');
        //         $this->db->join('paises pp','pp.IdPais = dr.IdPais', 'left');
        //         $this->db->join('mediopago m','m.IdMedioPago = r.MedioPago', 'left');
        //         $this->db->where("r.IdReserva = '$IdReserva'");
        //     break;
        // }

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

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

        //recorrer el data. 
		$Opcion            = '1';      
		$IdReserva         = $data['IdReserva'];        

		//Llamo al procedimiento almacenado
        $misql='EXEC spInsertReservaCheck @Opcion    = '.$Opcion.', 
									      @IdReserva = '.$IdReserva.'';
                                            // 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 valores del checkOut
    public function updateReservaCheckOut($data)
    {
		//Inicio transaccion    
        $this->db->trans_begin();  

        //recorrer el data. 
		$Opcion    = $data['Opcion'];      
		$IdReserva = $data['IdReserva'];        
		$FechaFin  = $data['FechaFin'];        
		$HoraFin   = $data['HoraFin'];        

		//Llamo al procedimiento almacenado
        $misql='EXEC spUpdateReservasCheckOut   @Opcion    = '.$Opcion.', 
									            @IdReserva = '.$IdReserva.',
									            @FechaFin  = '.$FechaFin.',
									            @HoraFin   = '.$HoraFin.'';
                                            // 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;
		}
    }

   
}