<?php 
defined('BASEPATH') OR exit('No direct script access allowed');
header('Access-Control-Allow-Origin: *');

class TipoHabitaciones extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
    
        //cargar la base de datos
        $this->load->database();
        //parser de json y xml
        $this->load->library("parser");

        //$this->load->model('Sesion_Model'); 
        $this->load->library('form_validation');
        //$this->load->library("Form_validation");
        $this->load->helper("url");
        $this->load->helper('form');
        $this->load->helper('text');
        
        //Cargando los modelos para gestion de la data sistema pena
        $this->load->model('Habitaciones_Model');
        $this->load->model('Establecimientos_Model');
        $this->load->model('TipoHabitaciones_Model');
    }
    
    //Listar Habitaciones
    public function listTipoHabitaciones($offset = 0)
    {
        if ($this->session->userdata('iduser')=='') {
            redirect(base_url().'/admin');
        }

        $this->load->model('TipoHabitaciones_Model');
        $this->load->model('Tipos_Model');

        $dato = array('1','null','null','null'); 
        $query = $this->TipoHabitaciones_Model->getTipoHabitacionforParameter(null, null, $dato);

        $datocm = array('1','null','null'); 
        $clasematricula = $this->Tipos_Model->getClaseOcupacion($datocm);

        $datoto = array('9','null'); 
        $tipoocupacion = $this->Tipos_Model->getOcupaciones($datoto);

		//envio el arreglo
        $data['tipohabitacion'] = $query;
        $data['clasematricula'] = $clasematricula;
        $data['tipoocupacion']  = $tipoocupacion;

        $data['titulo'] = 'Tipo Habitaciones';
		$data['sidebar'] = 'Lista de Habitaciones';

		//Cargar los permisos
        $this->load->model('Security_Model');
        $profile = $this->session->userdata('profile');
        $modulo  = "all";
        $datos   = array('1', $profile, $modulo); 
		$permiso = $this->Security_Model->getAllSecurityProfile($datos);
        $data['permisos'] = $permiso;

        $this->load->view('admin/TipoHabitaciones/list', $data);
    }

    //Buscar Habitaciones por parametro
	public function searchClase()
	{
		if ($this->session->userdata('iduser')=='') {
			redirect(base_url().'/admin');
		}

        $this->load->model('Tipos_Model');

        $Opcion = $this->input->post('Opcion')==''?'null':$this->input->post('Opcion');

		//Armando el arreglo del dato
		$dato = array($Opcion,'null','null');
		$query = $this->Tipos_Model->getClaseOcupacion($dato);
	
		// retornar los valores
		echo json_encode($query);
		
	}

    //Buscar Habitaciones por parametro
	public function searchTipoHabitaciones()
	{
		if ($this->session->userdata('iduser')=='') {
			redirect(base_url().'/admin');
		}

        $this->load->model('TipoHabitaciones_Model');

        $Opcion           = $this->input->post('Opcion')==''?'null':$this->input->post('Opcion');
        $IdTipoHabitacion = $this->input->post('IdTipoHabitacion')==''?'null':$this->input->post('IdTipoHabitacion');

		//Armando el arreglo del dato
		$dato = array($Opcion,$IdTipoHabitacion,'null','null');
      
		$query = $this->TipoHabitaciones_Model->getTipoHabitacionforParameter(null, null, $dato);
	
		// retornar los valores
		echo json_encode($query);	
	}

	//Insertar Nueva Habitacion
    public function insertTipoHabitacion()
    {     
        if ($this->session->userdata('iduser')=='') {
            redirect(base_url().'/admin');
        } 

        date_default_timezone_set("America/Bogota");
        setlocale(LC_ALL,"es_CO");

        $meses = array("01","02","03","04","05","06","07","08","09","10","11","12");
        $Date = (date('Y')."-".$meses[date('n')-1]."-".date('d'));  
        $Time = (date('H').":".date('i').":".date('s'));         

        $this->load->model('TipoHabitaciones_Model');
        $this->load->model('Bitacora_Model');
        
         //Solo los datos validos  
		 $Opcion         = $this->input->post('Opcion')==''?false:$this->input->post('Opcion');
		 $TipoHabitacion = "'".strval($this->input->post('TipoHabitacion')==''?false:$this->input->post('TipoHabitacion'))."'";
		 $Capacidad      = "'".strval($this->input->post('Capacidad')==''?false:$this->input->post('Capacidad'))."'";
		 $Descripcion    = "'".strval($this->input->post('Descripcion')==''?false:$this->input->post('Descripcion'))."'";

		 $IdUsuario = $this->session->userdata('iduser');

		 //Arreglo Principal
		 $data = array( 'Opcion'         => $Opcion,
			            'TipoHabitacion' => $TipoHabitacion,
			            'Capacidad'      => $Capacidad,
			            'Descripcion' 	 => $Descripcion);
       
		//arreglo Bitacora
        $datab = array( 'IdEvento ' => '29', 
                        'Fecha'     => $Date,
                        'Hora'      => $Time, 
                        'IdUsuario' => $IdUsuario);

		$resultado=$this->TipoHabitaciones_Model->saveTipoHabitaciones($data);
		
        //Recuperar ultimo id Guardado
        $query = $this->db->query("SELECT IDENT_CURRENT('TipoHabitacion') as last_id");
        $rta = $query->result();
        $IdTipoHabitacion = ($rta[0]->last_id);
		
        if($resultado)
        {   
            $this->Bitacora_Model->saveBitacora($datab);
            print_r(json_encode(array("res"=>"ok","msg"=>"Tipo de habitación creada satisfactoriamente","id"=>$IdTipoHabitacion))); 
        }else{  
            print_r(json_encode(array("res"=>"bad","msg"=>"Tipo habitación no existe")));
        }
    }

    //Buscar si existe el nombre de la habitación 
	public function searchNombreTipoHabitaciones()
	{
		if ($this->session->userdata('iduser')=='') {
			redirect(base_url().'/admin');
		}

        $this->load->model('TipoHabitaciones_Model');

        $Opcion         = $this->input->post('Opcion')==''?'null':$this->input->post('Opcion');
        $TipoHabitacion = "'".strval($this->input->post('TipoHabitacion')==''?'null':$this->input->post('TipoHabitacion'))."'";

		//Armando el arreglo del dato
		$dato = array($Opcion,$TipoHabitacion);
    
		$query = $this->TipoHabitaciones_Model->getNombreTipoHabitacion(null, null, $dato);
	
		// retornar los valores
		echo json_encode($query);	
	}


    
	// //Eliminar Materiales
    // public function deleteHabitaciones($Codigo_habitacion)
    // {            
    //     if ($this->session->userdata('iduser')=='') {
    //         redirect(base_url().'/admin');
    //     } 
        
	// 	$this->load->model('Habitaciones_Model');
        
    //     $Codigo_habitacion = $this->session->userdata('iduser');
        
    //     $datab = array(
    //         'IdEvento'  => '4', 
    //         'Codigo_habitacion' => $Codigo_habitacion
    //     );
        
    //     //Llamar el Procedimiento
    //     $Habitaciones = $this->Habitaciones_Model->deleteHabitacion($Codigo_habitacion);
        
    //     if($Habitaciones)
    //     {   
    //         $this->Bitacora_Model->saveBitacora($datab);
    //         print_r(json_encode(array("res"=>"ok","msg"=>"Habitación Elimindo Satisfactoriamente")));
             
    //     }else{
            
    //         print_r(json_encode(array("res"=>"bad","msg"=>"Habitación No Eliminado")));
              
    //     }
    
    // }

    // public function actualizarHabitacion()
    // {
    //     if ($this->session->userdata('iduser')=='') {
    //         redirect(base_url().'/admin');
    //     } 

    //     $this->load->model('Habitaciones_Model');
        
    //     //Solo los datos validos
    //     $IdHabitacion   = $this->input->post('IdHabitacion')==''?false:$this->input->post('IdHabitacion'); 
    //     $Disponibilidad = "'".strval($this->input->post('Disponibilidad')==''?false:$this->input->post('Disponibilidad'))."'";
        		
    //     $IdUsuario = $this->session->userdata('iduser');

    //     $data = array(
    //         'IdHabitacion' 	   => $IdHabitacion,
	// 		'Disponibilidad'   => $Disponibilidad,
    //     );
       
    //     //validar si existe el registro en la base de datos
    //     $resultado=$this->Habitaciones_Model->actualizarHabitaciones($data);
                
       
            
    // }  

	//Update Habitaciones
	public function updateTipoHabitacion()
	{     
        if ($this->session->userdata('iduser')=='') 
        {
		    redirect(base_url().'/admin');
	    } 
 
        date_default_timezone_set("America/Bogota");
        setlocale(LC_ALL,"es_CO");

        $meses = array("01","02","03","04","05","06","07","08","09","10","11","12");
        $Date = (date('Y')."-".$meses[date('n')-1]."-".date('d'));  
        $Time = (date('H').":".date('i').":".date('s'));  

		//Cargar Modal
        $this->load->model('TipoHabitaciones_Model');
        $this->load->model('Bitacora_Model');

        //Solo los datos validos  
        $Opcion           = $this->input->post('Opcion')==''?false:$this->input->post('Opcion');
    	$TipoHabitacion   = "'".strval($this->input->post('TipoHabitacion')==''?false:$this->input->post('TipoHabitacion'))."'";
    	$Capacidad        =  "'".strval($this->input->post('Capacidad')==''?false:$this->input->post('Capacidad'))."'";
		$Descripcion      =  "'".strval($this->input->post('Descripcion')==''?false:$this->input->post('Descripcion'))."'";
		$IdTipoHabitacion = $this->input->post('IdTipoHabitacion')==''?false:$this->input->post('IdTipoHabitacion');

		$IdUsuario = $this->session->userdata('iduser');

		//Arreglo Principal
		$data = array('Opcion'           => $Opcion,
                      'TipoHabitacion'   => $TipoHabitacion,
                      'Capacidad'        => $Capacidad,
			          'Descripcion'      => $Descripcion,
			          'IdTipoHabitacion' => $IdTipoHabitacion);
       
        //Arreglo Bitacora
        $datob = array( 'IdEvento'  => '30', 
                        'Fecha'     => $Date,
                        'Hora'      => $Time, 
                        'IdUsuario' => $IdUsuario);

        //validar si existe el registro en la base de datos
        $resultado=$this->TipoHabitaciones_Model->updateTipoHabitaciones($data);
                
        if($resultado)
        {   
            $this->Bitacora_Model->saveBitacora($datob);
            print_r(json_encode(array("res"=>"ok","msg"=>"Tipo de habitación actualizada satisfactoriamente")));
     
        }else{
            print_r(json_encode(array("res"=>"bad","msg"=>"Tipo de habitación no existe")));
        }
	}

    // //Buscar Habitaciones === OK 
	// public function searchHabitaciones()
	// {
	// 	if ($this->session->userdata('iduser')=='') {
	// 		redirect(base_url().'/admin');
	// 	}

	// 	//Cargar Modelos
	// 	$this->load->model('Habitaciones_Model');

    //      //capturar datos
    //     $Opcion            = $this->input->post('Opcion')==''?'null':$this->input->post('Opcion');
    //     $IdEstablecimiento = $this->input->post('IdHotel')==''?'null':$this->input->post('IdHotel');
    //     $IdHabitacion      = $this->input->post('IdHabitacion')==''?'null':$this->input->post('IdHabitacion');

	// 	//Configurando el array para consulta de Paises
	// 	$datoh = array($Opcion,$IdEstablecimiento,$IdHabitacion,'null');
	// 	$query = $this->Habitaciones_Model->getHabitacionforParameter(null,null,$datoh);
		
	// 	//retornar los valores
	// 	echo json_encode($query);
	// }

	
}
