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

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

    //Registrar Permisos
    public function getRolesHotelforParameter($limit=false,$offset=false,$data)
    {
        $limit ? $this->db->limit($limit, $offset):'';

        $opcion   = $data[0];
		$IdRol    = $data[1];
        $IdPerfil = $data[2];
        $Rol      = $data[3];
      

        switch (intval($opcion))
		{
            case 1: //Consultar todos los datos de todos los huesped
                $this->db->select('r.IdRol,
                                   r.IdPerfil,
                                   r.Nombre as NomRol,
                                   p.Nombre as NomPerfil,
                                   p.Estado,
                                   u.IdUsuario,
                                   CONCAT(Nombres," ",Apellidos) as NomUsuario');
                $this->db->from('roles as r');
                $this->db->join('perfiles as p','p.IdPerfil = r.IdPerfil','left');
                $this->db->join('usuarios as u','u.IdUsuario = r.IdUsuario','left');
            break;

            case 2: //Consultar todos los datos de todos los huesped
                $this->db->select('r.IdRol,
                                   r.IdPerfil,
                                   r.Nombre as NomRol,
                                   p.Nombre as NomPerfil,
                                   p.Estado,
                                   u.IdUsuario,
                                   CONCAT(Nombres," ",Apellidos) as NomUsuario');
                $this->db->from('roles as r');
                $this->db->join('perfiles as p','p.IdPerfil = r.IdPerfil','left');
                $this->db->join('usuarios as u','u.IdUsuario = r.IdUsuario','left');
                $this->db->where('r.IdRol', $IdRol);
            break;
            
            
        } 

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

    public function saveRoles($data)
    {
        //Inicio transaccion    
        $this->db->trans_begin();  
        
		//Insertar el registro
        $this->db->insert('roles',$data);
        
        //Control de transacciones 
        if ($this->db->trans_status() === false) {
            $this->db->trans_rollback();
            return false;
        } else {
            $this->db->trans_commit();
            return true;
        }
              
    }

    public function updateRoles($data)
    {
        //Inicio transaccion    
        $this->db->trans_begin();  
        //recorrer el data.
		        
        $id = $data['IdRol'];

		$this->db->where('IdRol', $id);
        $this->db->update('roles', $data);
        
        //Control de transacciones 
        if ($this->db->trans_status() === false) {
            $this->db->trans_rollback();
            return false;
        }else{
            $this->db->trans_commit();
            return true;
        }
    }
}
?>