Exemple #1
0
        public bool VerificarPermissaoPorSubUnidade(int idPessoa, List <int> SubUnidade, string descricaoPermissao, string pagina)
        {
            Atividade oAtividade = Atividade.FindFirst(Expression.InsensitiveLike("Url", "%" + pagina + "%"));

            //Primeiro verifica se a sub-unidade de exercicio tem a permissão desejada
            DetachedCriteria dc = DetachedCriteria.For(typeof(AtividadeUnidadeExercicioPermissao));

            dc.Add(Expression.In("UnidadeExercicio.Id", SubUnidade));
            dc.Add(Expression.Eq("Atividade.Id", oAtividade.Id));
            dc.CreateAlias("Permissao", "per");
            dc.Add(Expression.Eq("per.Descricao", descricaoPermissao));

            if (AtividadeFuncaoPermissao.Exists(dc))
            {
                return(true);
            }
            else
            {
                //Se a sub-unidade não tem permissão, verifica se o usuário tem.
                DetachedCriteria dc2 = DetachedCriteria.For(typeof(AtividadePessoaPermissao));
                dc2.Add(Expression.Eq("Pessoa.Id", idPessoa));
                dc2.Add(Expression.Eq("Atividade.Id", oAtividade.Id));
                dc2.CreateAlias("Permissao", "per");
                dc2.Add(Expression.Eq("per.Descricao", descricaoPermissao));
                dc2.Add(Expression.Eq("AcessoPermitido", true));

                if (AtividadePessoaPermissao.Exists(dc2))
                {
                    return(true);
                }
            }

            return(false);
        }
Exemple #2
0
        public static bool VerificarPermissao(int idPessoa, string descricaoPermissao, string urlAtividade)
        {
            DetachedCriteria dc = DetachedCriteria.For(typeof(AtividadePessoaPermissao));

            dc.CreateAlias("Permissao", "per");
            dc.CreateAlias("Atividade", "ati");
            dc.Add(Expression.Eq("Pessoa.Id", idPessoa));
            dc.Add(Expression.InsensitiveLike("ati.Url", "%" + urlAtividade + "%"));
            dc.Add(Expression.Eq("per.Descricao", descricaoPermissao));

            if (AtividadePessoaPermissao.Exists(dc))
            {
                Console.WriteLine("Tem permisao de: " + descricaoPermissao);
                return(true);
            }
            else
            {
                Console.WriteLine("NAO Tem permisao de: " + descricaoPermissao);
                return(false);
            }
        }