Ejemplo n.º 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);
        }
Ejemplo n.º 2
0
        public AtividadePessoaPermissao[] listarPessoasAtividade(int atividade)
        {
            DetachedCriteria dcPermissaoPessoa = DetachedCriteria.For(typeof(AtividadePessoaPermissao));

            dcPermissaoPessoa.CreateAlias("Atividade", "at");
            dcPermissaoPessoa.Add(Expression.Eq("Atividade.Id", atividade));
            dcPermissaoPessoa.AddOrder(Order.Asc("at.Descricao"));

            return(AtividadePessoaPermissao.FindAll(dcPermissaoPessoa));
        }
Ejemplo n.º 3
0
        public static void salvarAtividadePessoaPermissao(camposAtivPermissao obj)
        {
            if (obj.pessoa != 0 && obj.atividade != 0 && obj.permissao != 0)
            {
                AtividadePessoaPermissao objAPP = new AtividadePessoaPermissao();
                objAPP.Pessoa          = new Pessoa();
                objAPP.Pessoa          = Pessoa.Find(obj.pessoa);
                objAPP.Atividade       = new Atividade();
                objAPP.Atividade       = Atividade.Find(obj.atividade);
                objAPP.Permissao       = new Permissao();
                objAPP.Permissao       = Permissao.Find(obj.permissao);
                objAPP.AcessoPermitido = obj.acesso;

                objAPP.Save();
            }
        }
Ejemplo n.º 4
0
        public static bool VerificarPermissaoPorPessoa(int idPessoa, int idAtividade, string descricaoPermissao)
        {
            DetachedCriteria dc = DetachedCriteria.For(typeof(AtividadePessoaPermissao));

            dc.Add(Expression.Eq("AcessoPermitido", true));
            dc.Add(Expression.Eq("Atividade.Id", idAtividade));
            dc.Add(Expression.Eq("Pessoa.Id", idPessoa));
            dc.CreateAlias("Permissao", "PER");
            dc.Add(Expression.Eq("PER.Descricao", descricaoPermissao));
            if (AtividadePessoaPermissao.FindAll(dc).Length < 1)
            {
                return(false);
            }

            return(true);
        }
Ejemplo n.º 5
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);
            }
        }