public static ConjuntoDePermissoesUsuarioModulos ObterConjuntoDeModulosUsuario(int CODFNC, int CODSISINF)
    {
        ConjuntoDePermissoesUsuarioModulos retorno = new ConjuntoDePermissoesUsuarioModulos();
        //
        var bll = new ControleDeAcessoBLL();

        retorno.InformacoesUsuario = bll.ObterInformacoesUsuario(CODFNC, string.Empty).FirstOrDefault();
        retorno.ModulosPermitidos  = bll.ObterModulosPermitidos(CODSISINF, CODFNC);
        foreach (var Item in retorno.ModulosPermitidos)
        {
            Item.CONTROLES.AddRange(bll.ObterControlesPermitidos(Item.CODMDUSIS, CODSISINF, CODFNC));
        }
        //
        return(retorno);
    }
    public static ConjuntoDePermissoesUsuarioSistemas ObterConjuntoDePermissoesUsuario(HttpSessionState Session, string nomUsrRde = "", List <string> grupos = null)
    {
        ConjuntoDePermissoesUsuarioSistemas retorno = new ConjuntoDePermissoesUsuarioSistemas();

        //
        if ((!nomUsrRde.Equals(string.Empty)))
        {
            var bll = new ControleDeAcessoBLL();
            //
            retorno.InformacoesUsuario = bll.ObterInformacoesUsuario(0, nomUsrRde).FirstOrDefault();
            if (retorno.InformacoesUsuario != null)
            {
                retorno.SistemasPermitidos = bll.ObterSistemasPermitidos(CODSISINF, retorno.InformacoesUsuario.CODFNC);
                if (grupos != null)
                {
                    retorno.SistemasPermitidos = retorno.SistemasPermitidos.Where(x => grupos.Contains(x.DESGRPRDESISSMA)).ToList();
                }
            }
        }
        else if (Session["ConjuntoDePermissoesUsuario"] != null)
        {
            retorno = (ConjuntoDePermissoesUsuarioSistemas)Session["ConjuntoDePermissoesUsuario"];
        }
        //
        if (retorno != null && retorno.InformacoesUsuario != null && retorno.SistemasPermitidos.Count > 0)
        {
            Session["ConjuntoDePermissoesUsuario"] = retorno;
        }
        else
        {
            Session.Clear();
            Session.Abandon();
        }
        //
        return(retorno);
    }