public PermissaoInfo ToPermissaoInfo()
        {
            PermissaoInfo lRetorno = new PermissaoInfo();

            lRetorno.DescricaoPermissao = this.DescricaoPermissao;
            lRetorno.NomePermissao      = this.Nome;
            lRetorno.CodigoPermissao    = this.Id;

            return(lRetorno);
        }
Exemplo n.º 2
0
        private void AssociarPermissaoAoObjeto(MensagemResponseBase lItem, string nomePermissao, bool associar)
        {
            //nomePermissao = lDados.Interface.Trim() + "Executar";
            PermissaoInfo lPermissao = this.ListaDePermissoes.Find(p => p.GetType().Name == nomePermissao);

            if ((lPermissao != null) &&
                ((lItem != null)) &&
                ((lItem is ReceberUsuarioGrupoResponse)))
            {
                PermissaoAssociadaInfo lPermAssoc = ((ReceberUsuarioGrupoResponse)lItem).UsuarioGrupo.Permissoes.Find(p => p.CodigoPermissao == lPermissao.CodigoPermissao);
                if (lPermAssoc == null)
                {
                    if (associar)
                    {
                        ((ReceberUsuarioGrupoResponse)lItem).UsuarioGrupo.Permissoes.Add(new PermissaoAssociadaInfo()
                        {
                            CodigoPermissao = lPermissao.CodigoPermissao,
                            Status          = PermissaoAssociadaStatusEnum.Permitido
                        });
                    }
                }
                else
                {
                    if (!associar)
                    {
                        ((ReceberUsuarioGrupoResponse)lItem).UsuarioGrupo.Permissoes.Remove(lPermAssoc);
                    }
                }
            }
            else
            {
                PermissaoAssociadaInfo lPermAssoc = ((ReceberUsuarioGrupoResponse)lItem).UsuarioGrupo.Permissoes.Find(p => p.CodigoPermissao == lPermissao.CodigoPermissao);

                if (lPermAssoc == null)
                {
                    if (associar)
                    {
                        ((ReceberUsuarioResponse)lItem).Usuario.Permissoes.Add(new PermissaoAssociadaInfo()
                        {
                            CodigoPermissao = lPermissao.CodigoPermissao,
                            Status          = PermissaoAssociadaStatusEnum.Permitido
                        });
                    }
                }
                else
                {
                    if (!associar)
                    {
                        ((ReceberUsuarioResponse)lItem).Usuario.Permissoes.Remove(lPermAssoc);
                    }
                }
            }
        }
Exemplo n.º 3
0
        public string ResponderCadastrar()
        {
            string lretorno    = string.Empty;
            string lObjetoJson = Request["ObjetoJson"];

            TransporteSegurancaPermissaoSeguranca lDadosPermissao = null;

            MensagemResponseBase   lResponse = null;
            SalvarPermissaoRequest lRequest  = new SalvarPermissaoRequest();

            PermissaoInfo lPermissaoInfo = new PermissaoInfo();

            try
            {
                lDadosPermissao = JsonConvert.DeserializeObject <TransporteSegurancaPermissaoSeguranca>(lObjetoJson);

                lPermissaoInfo = lDadosPermissao.ToPermissaoInfo();

                lRequest.Permissao = lPermissaoInfo;

                lRequest.CodigoSessao = this.CodigoSessao;

                lResponse = ServicoSeguranca.SalvarPermissao(lRequest);

                if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    if (string.IsNullOrWhiteSpace(lDadosPermissao.Id))
                    {
                        base.RegistrarLogInclusao();
                    }
                    else
                    {
                        base.RegistrarLogAlteracao();
                    }

                    lretorno = RetornarSucessoAjax(new TransporteRetornoDeCadastro(lResponse.DescricaoResposta), "Permissão cadastrada com sucesso");
                }
                else
                {
                    lretorno = RetornarErroAjax(lResponse.DescricaoResposta);
                }
            }
            catch (Exception ex)
            {
                lretorno = RetornarErroAjax("Erro durante o envio do request para cadastrar permissão", ex);
            }
            return(lretorno);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Construtor default
        /// </summary>
        public PermissaoBase()
        {
            // Pega o atributo de permissão
            _permissaoAttribute =
                (PermissaoAttribute)
                this.GetType().GetCustomAttributes(
                    typeof(PermissaoAttribute), true)[0];

            // Cria o permissao info
            this.PermissaoInfo =
                new PermissaoInfo()
            {
                CodigoPermissao    = _permissaoAttribute.CodigoPermissao,
                DescricaoPermissao = _permissaoAttribute.DescricaoPermissao,
                NomePermissao      = _permissaoAttribute.NomePermissao
            };
        }
 public TransporteSegurancaPermissaoSeguranca(PermissaoInfo pPermissaoInfo)
 {
     this.Id   = pPermissaoInfo.CodigoPermissao;
     this.Nome = pPermissaoInfo.NomePermissao;
     this.DescricaoPermissao = pPermissaoInfo.DescricaoPermissao;
 }
Exemplo n.º 6
0
        public string ReceberPermissoes()
        {
            string lObjetoJson = Request.Params["ObjetoJson"];

            try
            {
                TransporteSegurancaDadosAssociados lDados = JsonConvert.DeserializeObject <TransporteSegurancaDadosAssociados>(lObjetoJson);
                lDados.Consultar            =
                    lDados.Excluir          =
                        lDados.Salvar       =
                            lDados.Executar = false;
                if (lDados.EhGrupo)
                {
                    ReceberUsuarioGrupoRequest lReuqest = new ReceberUsuarioGrupoRequest()
                    {
                        CodigoSessao           = this.CodigoSessao,
                        CodigoUsuarioGrupo     = lDados.Grupo,
                        DescricaoUsuarioLogado = base.UsuarioLogado.Nome,
                        IdUsuarioLogado        = base.UsuarioLogado.Id
                    };

                    ReceberUsuarioGrupoResponse lRes = ServicoSeguranca.ReceberUsuarioGrupo(lReuqest);

                    List <PermissaoInfo> permissoes = ListaDePermissoes.Where(p => p.GetType().Name.Contains(lDados.Interface)).ToList();

                    foreach (PermissaoAssociadaInfo lPI in lRes.UsuarioGrupo.Permissoes)
                    {
                        PermissaoInfo lPermissao = permissoes.Find(p => p.CodigoPermissao == lPI.CodigoPermissao);
                        if (lPermissao != null)
                        {
                            if (lPermissao.GetType().Name.Contains("Excluir"))
                            {
                                lDados.Excluir = true;
                            }
                            if (lPermissao.GetType().Name.Contains("Executar"))
                            {
                                lDados.Executar = true;
                            }
                            if (lPermissao.GetType().Name.Contains("Consultar"))
                            {
                                lDados.Consultar = true;
                            }
                            if (lPermissao.GetType().Name.Contains("Salvar"))
                            {
                                lDados.Salvar = true;
                            }
                        }
                    }
                }
                else
                {
                    ReceberUsuarioRequest lReuqest = new ReceberUsuarioRequest()
                    {
                        CodigoSessao           = this.CodigoSessao,
                        CodigoUsuario          = lDados.Usuario,
                        DescricaoUsuarioLogado = base.UsuarioLogado.Nome,
                        IdUsuarioLogado        = base.UsuarioLogado.Id
                    };

                    ReceberUsuarioResponse lRes = ServicoSeguranca.ReceberUsuario(lReuqest);

                    List <PermissaoInfo> permissoes = ListaDePermissoes.Where(p => p.GetType().Name.Contains(lDados.Interface)).ToList();

                    foreach (PermissaoAssociadaInfo lPI in lRes.Usuario.Permissoes)
                    {
                        PermissaoInfo lPermissao = permissoes.Find(p => p.CodigoPermissao == lPI.CodigoPermissao);
                        if (lPermissao != null)
                        {
                            if (lPermissao.GetType().Name.Contains("Excluir"))
                            {
                                lDados.Excluir = true;
                            }
                            if (lPermissao.GetType().Name.Contains("Executar"))
                            {
                                lDados.Executar = true;
                            }
                            if (lPermissao.GetType().Name.Contains("Consultar"))
                            {
                                lDados.Consultar = true;
                            }
                            if (lPermissao.GetType().Name.Contains("Salvar"))
                            {
                                lDados.Salvar = true;
                            }
                        }
                    }
                }
                return(RetornarSucessoAjax(lDados, "Ok"));
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message, ex);
                return(RetornarErroAjax(ex.Message));
            }
        }