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

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

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

        //recorrer el data. 
		$Opcion         = '1';      
		$Nit            = $data['Nit'];        
		$Nombre         = $data['Nombre'];        
		$Direccion      = $data['Direccion'];        
		$Movil          = $data['Movil'];        
		$Rnt            = $data['Rnt'];        
		$Ciiu           = $data['Ciiu'];        
		$IdEstado       = $data['IdEstado'];        
		$Mmercantil     = $data['Mmercantil'];      
		$IdDepartamento = $data['IdDepartamento'];      
		$IdCiudad       = $data['IdCiudad'];      
		$NombreContacto = $data['NombreContacto'];      
		$TelContacto    = $data['TelContacto'];      
		$EmailContacto  = $data['EmailContacto'];      
		$PaginaWeb      = $data['PaginaWeb'];       

		//Llamo al procedimiento almacenado
        $misql='EXEC spInsertEstablecimiento @Opcion         = '.$Opcion.', 
									         @Nit            = '.$Nit.',  
									         @Nombre         = '.$Nombre.', 
									         @Direccion      = '.$Direccion.', 
									         @Movil          = '.$Movil.', 
									         @Rnt            = '.$Rnt.', 
									         @Ciiu           = '.$Ciiu.', 
									         @IdEstado       = '.$IdEstado.', 
									         @Mmercantil     = '.$Mmercantil.',
									         @IdDepartamento = '.$IdDepartamento.',
									         @IdCiudad       = '.$IdCiudad.',
									         @NombreContacto = '.$NombreContacto.',
									         @TelContacto    = '.$TelContacto.',
									         @EmailContacto  = '.$EmailContacto.',
									         @PaginaWeb      = '.$PaginaWeb.'';
                                             
		//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;
		}
              
    }

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

	  	//recorrer el data.
	  	$Opcion            = '1';
	  	$Nombre            = $data['Nombre'];        
	  	$Nit               = $data['Nit'];        
	  	$Direccion         = $data['Direccion'];        
	  	$Movil             = $data['Movil'];        
	  	$Rnt               = $data['Rnt'];        
	  	$Ciiu              = $data['Ciiu'];        
	  	$IdEstado          = $data['IdEstado'];        
	  	$Mmercantil        = $data['Mmercantil'];        
	  	$IdDepartamento    = $data['IdDepartamento'];      
	  	$IdCiudad          = $data['IdCiudad'];      
	  	$NombreContacto    = $data['NombreContacto'];      
	  	$TelContacto       = $data['TelContacto'];      
	  	$EmailContacto     = $data['EmailContacto'];      
	  	$PaginaWeb         = $data['PaginaWeb']; 
        $IdEstablecimiento = $data['IdEstablecimiento'];      
	  
		//Llamo al procedimiento almacenado
	  	$misql='EXEC spUpdateEstablecimiento @Opcion            = '.$Opcion.',
									         @Nombre            = '.$Nombre.',
									         @Nit               = '.$Nit.',  
									         @Direccion         = '.$Direccion.', 
									         @Movil             = '.$Movil.', 
									         @Rnt               = '.$Rnt.', 
									         @Ciiu              = '.$Ciiu.', 
									         @IdEstado          = '.$IdEstado.', 
									         @Mmercantil        = '.$Mmercantil.', 
									         @IdDepartamento    = '.$IdDepartamento.',
									         @IdCiudad          = '.$IdCiudad.',
									         @NombreContacto    = '.$NombreContacto.',
									         @TelContacto       = '.$TelContacto.',
									         @EmailContacto     = '.$EmailContacto.',
									         @PaginaWeb         = '.$PaginaWeb.',
                                             @IdEstablecimiento = '.$IdEstablecimiento.'' ;

		//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 Establecimientos General
	public function getEstablecimientos($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 spGetEstablecimiento @Opcion            = ".$data[0].",
                                            @IdEstablecimiento = ".$data[1].",
                                            @Nombre            = ".$data[2].",
                                            @Nit               = ".$data[3]."";
       
        $results = $this->CI_Consultar->consultarsp($misql,$conn);
        $results = mb_convert_encoding($results ,'UTF-8', 'HTML-ENTITIES');
        return $results;
    }

    //Buscar General por parametros
    public function getEstablecimientosforParameter($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 spGetEstablecimiento @Opcion            = ".$data[0].",
                                            @IdEstablecimiento = ".$data[1].",
                                            @Nombre            = ".$data[2].",
                                            @Nit               = ".$data[3]."";
    
        $results=$this->CI_Consultar->consultarsp($misql,$conn);
        return $results;

 
        // switch (intval($opcion))
		// {
        //     case 2://Consultar por id de establecimiento
        //         $this->db->select("e.IdEstablecimiento, e.Nit, e.Nombre,  CASE e.Estado WHEN 'A' THEN 'ACTIVO' else 'INACTIVO' end as NomEstado, e.Estado, e.Rnt, e.Direccion, e.Movil");
       	// 		$this->db->from('establecimientos as e');
        //         $this->db->where('e.IdEstablecimiento', $id);
        //     	break;
        // } 
                   
	}

	//Borrar Correos
    public function deleteEstablecimientos($IdEstablecimiento)
    {
        $this->load->library('Consultar');
        $conn = $this->CI_Consultar->conexion(APP_SERVERNAME,APP_DBNAME,APP_USER,APP_PASS);
     
        $misql = 'EXEC spDeleteEstablecimiento @IdEstablecimiento = '.$IdEstablecimiento.'';
       
        $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;
        }

        // //Inicio transaccion    
        // $this->db->trans_begin();  

		// //recorrer el data.
        // $this->db->where('IdEstablecimiento', $Id);
        // $this->db->delete('Establecimientos');
        
        // //Control de transacciones 
        // if ($this->db->trans_status() === false) {
        //     $this->db->trans_rollback();
        //     return false;
        // } else {
        //     $this->db->trans_commit();
        //     return true;
        // }
    }
}
   
?>

