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

class Acompanantes 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('Acompanantes_Model');
        
    }
    
    //Listar Acompanantes
    public function listAcompanantes($offset = 0)
    {
        if ($this->session->userdata('iduser')=='') {
            redirect(base_url().'/admin');
        }

		//Cargar Modelo
        $this->load->model('Acompanantes_Model');
        $this->load->model('Tipos_Model');
        
        //Armando el arreglo del dato
		$dato = array('1','null','null','null','null','null','null','null','null','null'); 
        $query = $this->Acompanantes_Model->getAcompanantesforParameter(null,null,$dato);
       
        //Configurando el array para consulta de Tipos Documentos
		$datotd = array('null', 'null');
        $tipodoc = $this->Tipos_Model->getTipoDoc($datotd);

		//Configurando el array para consulta de Paises
		$datops = array('1', 'null');
        $paises = $this->Tipos_Model->getPaises($datops);
      
		//envio el arreglo
		$data['acompanantes'] = $query;
		$data['tipodoc']      = $tipodoc;
		$data['paises']       = $paises;
        $data['titulo']       = 'Acompanantes';
		$data['sidebar']      = 'Lista de Acompanantes';

		//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/Acompanantes/list', $data);
        
    }

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

		//Cargar Modelos
        $this->load->model('Acompanantes_Model');
        
        //Captutando los datos de busqueda
        $Opcion         = $this->input->post('Opcion')==''?'null':$this->input->post('Opcion');
        $Acompanante    = $this->input->post('Acompanante')==''?'null':$this->input->post('Acompanante');
        $HuespedId      = $this->input->post('HuespedId')==''?'null':$this->input->post('HuespedId');
        $ReservaId      = $this->input->post('ReservaId')==''?'null':$this->input->post('ReservaId');
        $Identificacion = $this->input->post('Identificacion')==''?'null':$this->input->post('Identificacion');

		//Armando el arreglo del dato
		$dato = array($Opcion, $Acompanante, $HuespedId, $ReservaId, $Identificacion);
		$query = $this->Acompanantes_Model->getAcompanantesforParameter(null,null,$dato);
		//Enviar Arreglo
        echo json_encode($query);
    }

    //Update Acompanantes 
    public function updateAcompanantes() 
    {     
        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('Acompanantes_Model');
        $this->load->model('Bitacora_Model');
        
        //Solo los datos validos  
		$AcompananteId     = $this->input->post('AcompananteId')==''?false:$this->input->post('AcompananteId');
		$ReservaId         = $this->input->post('ReservaId')==''?false:$this->input->post('ReservaId');
		$HuespedId         = $this->input->post('HuespedId')==''?false:$this->input->post('HuespedId');
		$Nombres           = "'".strval($this->input->post('Nombres')==''?false:$this->input->post('Nombres'))."'";
		$Apellidos         = "'".strval($this->input->post('Apellidos')==''?false:$this->input->post('Apellidos'))."'";
		$TipoDocumento     = $this->input->post('TipoDocumento')==''?false:$this->input->post('TipoDocumento');
		$Identificacion    = $this->input->post('Identificacion')==''?false:$this->input->post('Identificacion');
		$FechaNac          = "'".strval($this->input->post('FechaNac')==''?false:$this->input->post('FechaNac'))."'";
		$LugarNac          = $this->input->post('LugarNac')==''?false:$this->input->post('LugarNac');
		$Genero            = $this->input->post('Genero')==''?false:$this->input->post('Genero');
		$Telefono          = "'".strval($this->input->post('Telefono')==''?false:$this->input->post('Telefono'))."'";
		$Movil             = "'".strval($this->input->post('Movil')==''?false:$this->input->post('Movil'))."'";
		$Nacionalidad      = $this->input->post('Nacionalidad')==''?false:$this->input->post('Nacionalidad');
		$Ocupacion         = $this->input->post('Ocupacion')==''?false:$this->input->post('Ocupacion');
		$Email             = "'".strval($this->input->post('CorreoElec')==''?false:$this->input->post('CorreoElec'))."'";
		$CiudadResidencia  = $this->input->post('Residencia')==''?false:$this->input->post('Residencia');
		$CiudadProcedencia = $this->input->post('Procedencia')==''?false:$this->input->post('Procedencia');
		 
		$IdUsuario      = $this->session->userdata('iduser');

		//Armar Arreglo
		$data = array(
            'IdAcompanante'     => $AcompananteId, 
            'IdReserva'  	    => $ReservaId, 
            'IdHuesped'    	    => $HuespedId, 
            'Nombres'      	    => $Nombres, 
			'Apellidos'         => $Apellidos, 
			'IdTipoDocumento'   => $TipoDocumento, 
			'Identificacion'    => $Identificacion, 
			'FechaNac'          => $FechaNac, 
			'LugarNac'          => $LugarNac, 
			'Genero'            => $Genero, 
			'Telefono'          => $Telefono, 
			'Movil'             => $Movil, 
			'Nacionalidad'      => $Nacionalidad, 
			'IdOcupacion'       => $Ocupacion, 
			'Email'             => $Email,          
			'CiudadResidencia'  => $CiudadResidencia,          
			'CiudadProcedencia' => $CiudadProcedencia          
        );
    
         //Arreglo Bitacora
        $datob = array( 'IdEvento'  => '18', 
                        'Fecha'     => $Date,
                        'Hora'      => $Time, 
                        'IdUsuario' => $IdUsuario);

        //validar si existe el registro en la base de datos
        $resultado=$this->Acompanantes_Model->updateAcompanantes($data);
                
        if($resultado)
        {   
            $this->Bitacora_Model->saveBitacora($datob);
            print_r(json_encode(array("res"=>"ok","msg"=>"Acompañante actualizado satisfactoriamente")));
             
        }else{
            
            print_r(json_encode(array("res"=>"bad","msg"=>"Acompañante no existe")));
             
        }
            
    }

	//Insertar Nueva Acompanantes
    public function insertAcompanantes()
    {     
        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('Acompanantes_Model');
        $this->load->model('Bitacora_Model');
        
        //Solo los datos validos  
		$ReservaId         = $this->input->post('ReservaId')==''?false:$this->input->post('ReservaId');
		$HuespedId         = $this->input->post('HuespedId')==''?false:$this->input->post('HuespedId');
		$Nombres           = "'".strval($this->input->post('Nombres')==''?false:$this->input->post('Nombres'))."'";
		$Apellidos         = "'".strval($this->input->post('Apellidos')==''?false:$this->input->post('Apellidos'))."'";
		$TipoDocumento     = $this->input->post('TipoDocumento')==''?false:$this->input->post('TipoDocumento');
		$Identificacion    = $this->input->post('Identificacion')==''?false:$this->input->post('Identificacion');
		$FechaNac          = "'".strval($this->input->post('FechaNac')==''?false:$this->input->post('FechaNac'))."'";
		$LugarNac          = $this->input->post('LugarNac')==''?false:$this->input->post('LugarNac');
		$Genero            = $this->input->post('Genero')==''?false:$this->input->post('Genero');
		$Telefono          = "'".strval($this->input->post('Telefono')==''?false:$this->input->post('Telefono'))."'";
		$Movil             = "'".strval($this->input->post('Movil')==''?false:$this->input->post('Movil'))."'";
		$Nacionalidad      = $this->input->post('Nacionalidad')==''?false:$this->input->post('Nacionalidad');
		$Ocupacion         = $this->input->post('Ocupacion')==''?false:$this->input->post('Ocupacion');
		$Email             = "'".strval($this->input->post('CorreoElec')==''?false:$this->input->post('CorreoElec'))."'";
		$CiudadResidencia  = $this->input->post('Residencia')==''?false:$this->input->post('Residencia');
		$CiudadProcedencia = $this->input->post('Procedencia')==''?false:$this->input->post('Procedencia');
		 
		$IdUsuario         = $this->session->userdata('iduser');

		//Armar Arreglo
		$data = array(
            'IdReserva'  	    => $ReservaId, 
            'IdHuesped'    	    => $HuespedId, 
            'Nombres'      	    => $Nombres, 
			'Apellidos'         => $Apellidos, 
			'IdTipoDocumento'   => $TipoDocumento, 
			'Identificacion'    => $Identificacion, 
			'FechaNac'          => $FechaNac, 
			'LugarNac'          => $LugarNac, 
			'Genero'            => $Genero, 
			'Telefono'          => $Telefono, 
			'Movil'             => $Movil, 
			'Nacionalidad'      => $Nacionalidad, 
			'IdOcupacion'       => $Ocupacion, 
			'Email'             => $Email,          
			'CiudadResidencia'  => $CiudadResidencia,          
			'CiudadProcedencia' => $CiudadProcedencia          
        );

        //Arreglo Bitacora
        $datob = array( 'IdEvento'  => '16', 
                        'Fecha'     => $Date,
                        'Hora'      => $Time, 
                        'IdUsuario' => $IdUsuario);

        //validar si existe el registro en la base de datos
        $dato = array('1','null', 'null', 'null', $Identificacion); 
        $resultado=$this->Acompanantes_Model->getAcompanantesforParameter(null,null,$dato);
        
        if(count($resultado)>0)
        {
            print_r(json_encode(array("res"=>"bad","msg"=>"Acompañante no se puede crear, ya existe")));
        }else{
			$this->Acompanantes_Model->saveAcompanantes($data);
            $this->Bitacora_Model->saveBitacora($datob);
			print_r(json_encode(array("res"=>"ok","msg"=>"Acompañante creado satisfactoriamente")));      
		}
    }

	// //Eliminar Materiales
    // public function deleteAcompanantes($AcompananteId)
    // {            
    //     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('Acompanantes_Model');
    //      $this->load->model('Bitacora_Model');

    //     $IdUsuario = $this->session->userdata('iduser');
        
    //     //Arreglo Bitacora
    //     $datob = array( 'IdEvento'  => '19', 
    //                     'Fecha'     => $Date,
    //                     'Hora'      => $Time, 
    //                     'IdUsuario' => $IdUsuario);
        
    //     //Llamar el Procedimiento
    //     $Respuesta = $this->Acompanantes_Model->deleteAcompanantes($AcompananteId);
        
    //     if($Respuesta)
    //     {   
    //         $this->Bitacora_Model->saveBitacora($datob);
    //         print_r(json_encode(array("res"=>"ok","msg"=>"Acompañante eliminado satisfactoriamente")));
             
    //     }else{
            
    //         print_r(json_encode(array("res"=>"bad","msg"=>"Acompañante no eliminado")));
              
    //     }
    
    // }

    //Eliminar acompañante 
    public function blockAcompanantes()
    {            
        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 Modelos
		$this->load->model('Acompanantes_Model');
        $this->load->model('Bitacora_Model');
        
		//Solo los datos validos  
		$AcompananteId = $this->input->post('AcompananteId')==''?false:$this->input->post('AcompananteId');
        
        $IdUsuario     = $this->session->userdata('iduser');

		//Arreglo Principal
		$data = array(
            'IdAcompanante' => $AcompananteId, 
            'IdHuesped'    	=> '0',
			'IdReserva'     => '0'
        );

         //Arreglo Bitacora
         $datob = array('IdEvento'  => '19', 
                        'Fecha'     => $Date,
                        'Hora'      => $Time, 
                        'IdUsuario' => $IdUsuario);

        //Llamar el Procedimiento
        $Respuesta = $this->Acompanantes_Model->blockAcompanantes($data);
        
        if($Respuesta)
        {   
            $this->Bitacora_Model->saveBitacora($datob);
            print_r(json_encode(array("res"=>"ok","msg"=>"Acompañante bloqueado satisfactoriamente")));
             
        }else{
            
            print_r(json_encode(array("res"=>"bad","msg"=>"Acompañante no se puede bloquear")));
              
        }
    
    }


}
