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

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

	//Registrar ValorHabitacion
    public function saveValorHabitacion($data)
    { 
        //Inicio transaccion    
        $this->db->trans_begin();  
    
        //recorrer el data.    
        $Opcion           = $data['Opcion'];        
        $Precio           = $data['Precio'];        
        $IdClaseMatricula = $data['IdClaseMatricula'];        
        $IdTipoOcupacion  = $data['IdTipoOcupacion'];           
        $IdTipoHabitacion = $data['IdTipoHabitacion'];           
     
        //Llamo al procedimiento almacenado
        $misql='EXEC spInsertValorHabitacion @Opcion           = '.$Opcion.', 
                                             @Precio           = '.$Precio.',  
                                             @IdClaseMatricula = '.$IdClaseMatricula.', 
                                             @IdTipoOcupacion  = '.$IdTipoOcupacion.',
                                             @IdTipoHabitacion = '.$IdTipoHabitacion.'';
                                               
        //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 ValorHabitacion
    public function updateValorHabitacion($data)
    {
        //Inicio transaccion    
        $this->db->trans_begin();  
    
        //recorrer el data.    
        $Opcion           = $data['Opcion'];        
        $Precio           = $data['Precio'];        
        $IdClaseMatricula = $data['IdClaseMatricula'];        
        $IdTipoOcupacion  = $data['IdTipoOcupacion'];           
        $IdTipoHabitacion = $data['IdTipoHabitacion'];           
     
        //Llamo al procedimiento almacenado
        $misql='EXEC spUpdateValorHabitacion @Opcion           = '.$Opcion.', 
                                             @Precio           = '.$Precio.',  
                                             @IdClaseMatricula = '.$IdClaseMatricula.', 
                                             @IdTipoOcupacion  = '.$IdTipoOcupacion.',
                                             @IdTipoHabitacion = '.$IdTipoHabitacion.'';
        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 ValorHabitacion
    public function updateValorTipoHabitacion($data)
    {
        //Inicio transaccion    
        $this->db->trans_begin();  
    
        //recorrer el data.    
        $Opcion           = $data['Opcion'];        
        // $Precio           = $data['Precio'];        
        // $IdClaseMatricula = $data['IdClaseMatricula'];        
        // $IdTipoOcupacion  = $data['IdTipoOcupacion'];           
        $IdTipoHabitacion = $data['IdTipoHabitacion']; 
        $PrecioIndividualTrans = $data['PrecioIndividualTrans'];
        $PrecioParejaTrans = $data['PrecioParejaTrans'];
        $PrecioDosPersonasTrans = $data['PrecioDosPersonasTrans'];
        $PrecioAdicionalTrans = $data['PrecioAdicionalTrans'];
        $PrecioIndividualPar = $data['PrecioIndividualPar'];
        $PrecioParejaPar = $data['PrecioParejaPar'];
        $PrecioDosPersonasPar = $data['PrecioDosPersonasPar'];
        $PrecioAdicionalPar = $data['PrecioAdicionalPar'];
     
        //Llamo al procedimiento almacenado
        $misql='EXEC spUpdateValorTipoHabitacion @Opcion           = '.$Opcion.',  
                                             @IdTipoHabitacion = '.$IdTipoHabitacion.',
                                             @PrecioIndividualTrans = '.$PrecioIndividualTrans.',
                                             @PrecioParejaTrans = '.$PrecioParejaTrans.',
                                             @PrecioDosPersonasTrans = '.$PrecioDosPersonasTrans.',
                                             @PrecioAdicionalTrans = '.$PrecioAdicionalTrans.',
                                             @PrecioIndividualPar = '.$PrecioIndividualPar.',
                                             @PrecioParejaPar = '.$PrecioParejaPar.',
                                             @PrecioDosPersonasPar = '.$PrecioDosPersonasPar.',
                                             @PrecioAdicionalPar = '.$PrecioAdicionalPar.'';
        // 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;
        }     
    }

    // //Buscar ValorHabitacion
    // public function getValorHabitacion($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 spGetHabitaciones @Opcion            = ".$data[0].",
    //                                      @IdEstablecimiento = ".$data[1].",
	// 								     @IdHabitacion      = ".$data[2].",
	// 								     @Disponibilidad    = ".$data[3].",
	// 								     @IdClaseMat        = ".$data[4]."";
        
    //     $results=$this->CI_Consultar->consultarsp($misql,$conn);
    //     return $results;
    // }

    //Buscar ValorHabitacion por parametros === OK
 	public function getValorHabitacionforParameter($limit=null,$offset=null,$data)
 	{
		//Utilizado para la paginacion?
		$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 spGetHabitaciones @Opcion            = ".$data[0].",
                                         @IdEstablecimiento = ".$data[1].",
                                         @IdHabitacion      = ".$data[2].",
                                         @Disponibilidad    = ".$data[3].",
                                         @IdClaseMatricula  = ".$data[4].",
                                         @IdTipoOcupacion   = ".$data[5].",
                                         @IdTipoHabitacion  = ".$data[6]."";
       
        $results=$this->CI_Consultar->consultarsp($misql,$conn);
        $results = mb_convert_encoding($results ,'UTF-8', 'HTML-ENTITIES');
        return $results;
		
		// //Utilizar la libreria
        // $Opcion          = $data[0];
		// $ValorHabTipId   = $data[1];
        // $TipoOcupacionId = $data[2];
        // $HabitacionId    = $data[3];
        // $ClaseMat        = $data[4];
		
		// //realizar la consulta
        // switch (intval($Opcion))
		// {
        //     case 1: //Consultar todos los valores
        //         $this->db->select('vh.*, tp.TipoOcupacion, co.NombreClase');
        //         $this->db->from('valorhabtip as vh');
		// 		$this->db->join('tipoocupacion as tp','tp.IdTipoOcupacion = vh.IdTipoOcupacion');
		// 		$this->db->join('claseocupacion as co','co.IdClaseOcupacion = vh.ClaseMat');
        //     break;
            
        //     case 2://Consultar por identificacion
        //         $this->db->select("vh.*, tp.TipoOcupacion, co.NombreClase");
        //         $this->db->from('valorhabtip as vh');
		// 		$this->db->join('tipoocupacion as tp','tp.IdTipoOcupacion = vh.IdTipoOcupacion');
		// 		$this->db->join('claseocupacion as co','co.IdClaseOcupacion = vh.ClaseMat');
        //         $this->db->where('vh.IdValHabTip', $ValorHabTipId);
        //     break;

        //     case 3: //Consultar por Ocupacion
		// 		$this->db->select("vh.*, tp.TipoOcupacion, co.NombreClase");
		// 		$this->db->from('valorhabtip as vh');
		// 		$this->db->join('tipoocupacion as tp','tp.IdTipoOcupacion = vh.IdTipoOcupacion');
		// 		$this->db->join('claseocupacion as co','co.IdClaseOcupacion = vh.ClaseMat');
		// 		$this->db->where('vh.IdTipoOcupacion', $TipoOcupacionId);
        //     break;

		// 	case 4: //Consultar por habitacion y  Clase
		// 		$this->db->select("vh.*, tp.TipoOcupacion, co.NombreClase");
		// 		$this->db->from('valorhabtip as vh');
		// 		$this->db->join('tipoocupacion as tp','tp.IdTipoOcupacion = vh.IdTipoOcupacion');
		// 		$this->db->join('claseocupacion as co','co.IdClaseOcupacion = vh.ClaseMat');
		// 		$this->db->where('vh.IdHabitacion', $HabitacionId);
		// 		$this->db->where('vh.ClaseMat', $ClaseMat);
		// 		$this->db->order_by('vh.IdTipoOcupacion', 'asc'); 
        //     break;

		// 	case 5: //Consultar por habitacion
		// 		$this->db->select("vh.*, tp.TipoOcupacion, co.NombreClase");
		// 		$this->db->from('valorhabtip as vh');
		// 		$this->db->join('tipoocupacion as tp','tp.IdTipoOcupacion = vh.IdTipoOcupacion');
		// 		$this->db->join('claseocupacion as co','co.IdClaseOcupacion = vh.ClaseMat');
		// 		$this->db->where('vh.IdHabitacion', $HabitacionId);
		// 		$this->db->order_by('vh.IdTipoOcupacion', 'asc'); 
        //     break;
        // } 

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

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

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

    // }
}
?>
