<?php namespace App\Models;

use CodeIgniter\Model;

class UsuarioSistemasModel extends Model {
    
    protected $DBGroup = 'baseT';
    protected $table = 'usuario_sistemas';
    protected $primaryKey = 'IdUsuario';
    protected $allowedFields = ['IdUsuario', 'IDSistema', 'UsuarioRegistra', 'FechaRegistra'];
    protected $useAutoIncrement = false;
    protected $useSoftDeletes = false;
    
    public function listarSistemasUsuario($idUsuario)
    {
        $this->select('sistemas.IDSistema,
            sistemas.Sistema,
            sistemas.Dominio,
            sistemas.Raiz,
            IF(usuario_sistemas.IdUsuario IS NULL, 0, 1) AS "ACTIVO"');
        $this->join('sistemas', 'usuario_sistemas.IDSistema = sistemas.IDSistema AND usuario_sistemas.IdUsuario = "'.$idUsuario.'"', 'right');
        
        $datos = $this->findAll();
        return $datos;
    }
    
    public function validarSistemaUsuario($idUsuario, $raiz)
    {
        $this->select('usuario_sistemas.IDSistema,
            sistemas.Sistema,
            sistemas.Estado');
        $this->join('sistemas', 'usuario_sistemas.IDSistema = sistemas.IDSistema');
        $this->where('usuario_sistemas.IdUsuario', $idUsuario);
        $this->where('sistemas.Raiz', $raiz);
        $datos = $this->first();
        return $datos;
    }
    
    //   public function listarUsuarioPerfil()
    //   {
    //       $this->select('usuario_perfil.IdUsuario,
    //         usuario_perfil.IDPerfil, 
    //         perfil.Perfil');
    //       $this->join('perfil', 'usuario_perfil.IDPerfil = perfil.IDPerfil', 'left');
          
    //       $datos = $this->findAll();
    //       return $datos;
    //   }
      
    //   public function obtenerPerfilUsuario($idUsuario)
    //   {
    //       $this->select('usuario_perfil.IdUsuario,
    //         usuario_perfil.IDPerfil, 
    //         perfil.Perfil,
    //         perfil.URLBase');
    //       $this->join('perfil', 'usuario_perfil.IDPerfil = perfil.IDPerfil', 'left');
    //       $this->where('usuario_perfil.IdUsuario', $idUsuario);
          
    //       $datos = $this->first();
    //       return $datos;
    //   }
    
    //   public function obtenerRutaUsuario($array)
    //   {
    //     $this->select('
    //       (SELECT 
    //         IF(usuario_rutas.IdUsuario IS NULL, 0, 1)
    //       FROM 
    //         usuario_rutas 
    //       INNER JOIN 
    //         modulos_rutas ON usuario_rutas.IDRuta = modulos_rutas.IDRuta
    //       WHERE
    //         usuario_rutas.IdUsuario = "'.$array['idusuario'].'" AND
    //         modulos_rutas.Ruta = "'.$array['ruta'].'") AS "AUTORIZADO",
    //       perfil.Perfil,
    //       perfil.URLBase');
    //     $this->join('perfil', 'usuario_perfil.IDPerfil = perfil.IDPerfil', 'left');
    //     $this->where('usuario_perfil.IdUsuario', $array['idusuario']);
    
    //     $datos = $this->first();
    //     return $datos;
    //   }
}
