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); }
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)); }
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(); } }
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); }
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); } }