Example #1
0
        private static void testeInterface()
        {
            IServicoMensageria servicoMensageria = Ativador.Get <IServicoMensageria>();

            AutenticarUsuarioResponse responseAutenticacao =
                (AutenticarUsuarioResponse)
                servicoMensageria.ProcessarMensagem(
                    new AutenticarUsuarioRequest()
            {
                CodigoUsuario = "Admin",
                Senha         = "123"
            });

            ReceberArvoreComandosInterfaceResponse respostaArvore =
                (ReceberArvoreComandosInterfaceResponse)
                servicoMensageria.ProcessarMensagem(
                    new ReceberArvoreComandosInterfaceRequest()
            {
                CodigoSessao = responseAutenticacao.Sessao.CodigoSessao,
                CodigoGrupoComandoInterface = "default"
            });

            ReceberGrupoComandoInterfaceResponse respostaReceber =
                (ReceberGrupoComandoInterfaceResponse)
                servicoMensageria.ProcessarMensagem(
                    new ReceberGrupoComandoInterfaceRequest()
            {
                CodigoSessao = responseAutenticacao.Sessao.CodigoSessao,
                CodigoGrupoComandoInterface = "default"
            });
        }
Example #2
0
        protected new void Page_Load(object sender, EventArgs e)
        {
            base.Page_Load(sender, e);
            if (!Page.IsPostBack)
            {
                ReceberArvoreComandosInterfaceResponse lResponseDados =
                    ServicoInterface.ReceberArvoreComandosInterface(
                        new ReceberArvoreComandosInterfaceRequest()
                {
                    CodigoSessao = this.CodigoSessao,
                    CodigoGrupoComandoInterface = "Menu_Dados_Clientes"
                });

                ReceberArvoreComandosInterfaceResponse lResponseAcoes =
                    ServicoInterface.ReceberArvoreComandosInterface(
                        new ReceberArvoreComandosInterfaceRequest()
                {
                    CodigoSessao = this.CodigoSessao,
                    CodigoGrupoComandoInterface = "Menu_Acoes_Clientes"
                });

                this.rpt_Menu_ClienteAcoes.DataSource = lResponseAcoes.ComandosInterfaceRaiz;
                this.rpt_Menu_ClienteAcoes.DataBind();

                this.rpt_Menu_ClienteDados.DataSource = lResponseDados.ComandosInterfaceRaiz;
                this.rpt_Menu_ClienteDados.DataBind();

                ValidaPermissaoDeEdicaoDeClientesPassos3e4();
            }
        }
Example #3
0
        protected new void Page_Load(object sender, EventArgs e)
        {
            base.Page_Load(sender, e);

            ReceberArvoreComandosInterfaceResponse lResponseDados =
                ServicoInterface.ReceberArvoreComandosInterface(
                    new ReceberArvoreComandosInterfaceRequest()
            {
                CodigoSessao = this.CodigoSessao,
                CodigoGrupoComandoInterface = "Menu_Dados_Risco"
            });

            rpt_Menu_RiscoDados.DataSource = lResponseDados.ComandosInterfaceRaiz;
            rpt_Menu_RiscoDados.DataBind();

            //ReceberArvoreComandosInterfaceResponse lResponseDadosRestricoes =
            //        ServicoInterface.ReceberArvoreComandosInterface(
            //            new ReceberArvoreComandosInterfaceRequest()
            //            {
            //                CodigoSessao = this.CodigoSessao,
            //                CodigoGrupoComandoInterface = "Menu_Dados_Risco_Restricoes"
            //            });

            //rpt_Menu_RiscoDados_Restricoes.DataSource = lResponseDadosRestricoes.ComandosInterfaceRaiz;
            //rpt_Menu_RiscoDados_Restricoes.DataBind();
        }
        private void ObterSubSistemas()
        {
            ReceberArvoreComandosInterfaceRequest ReceberSubSistemasReq = new ReceberArvoreComandosInterfaceRequest();

            ReceberSubSistemasReq.CodigoSessao = this.CodigoSessao;
            ReceberSubSistemasReq.CodigoGrupoComandoInterface = "default";

            ReceberArvoreComandosInterfaceResponse ReceberSubSistemasRes = this.ServicoInterface.ReceberArvoreComandosInterface(ReceberSubSistemasReq);

            this.SubSistemas = ReceberSubSistemasRes.ComandosInterfaceRaiz;
        }
Example #5
0
        /// <summary>
        /// Solicita o processamento dos comandos de interface. Verifica os comandos permitidos e retorna
        /// a árvore.
        /// </summary>
        /// <param name="parametros"></param>
        /// <returns></returns>
        public ReceberArvoreComandosInterfaceResponse ReceberArvoreComandosInterface(ReceberArvoreComandosInterfaceRequest parametros)
        {
            // Referencia para o servico de seguranca
            IServicoSeguranca servicoSeguranca = Ativador.Get <IServicoSeguranca>();

            // Prepara a resposta
            ReceberArvoreComandosInterfaceResponse resposta =
                new ReceberArvoreComandosInterfaceResponse()
            {
                CodigoMensagemRequest       = parametros.CodigoMensagem,
                CodigoGrupoComandoInterface = parametros.CodigoGrupoComandoInterface
            };

            // Pega grupo de comandos
            ReceberGrupoComandoInterfaceResponse respostaReceber =
                this.ReceberGrupoComandoInterface(
                    new ReceberGrupoComandoInterfaceRequest()
            {
                CodigoSessao = parametros.CodigoSessao,
                CodigoGrupoComandoInterface = parametros.CodigoGrupoComandoInterface
            });

            // Transforma a árvore de comandos em lista
            List <ComandoInterfaceInfo> listaComandos = respostaReceber.GrupoComandoInterface.ListarComandos();

            // Cria lista indicando quais comandos são grupo
            List <string> listaGrupos =
                (from c in listaComandos
                 where c.Filhos.Count > 0
                 select c.CodigoComandoInterface).ToList();

            // Salva o código do item na tag da segurança para enviar para validação
            foreach (ComandoInterfaceInfo item in listaComandos)
            {
                item.Seguranca.Tag = item.CodigoComandoInterface;
            }

            // Cria lista de itens de seguranca a validar
            List <ItemSegurancaInfo> itensSeguranca =
                (from c in listaComandos
                 select c.Seguranca).ToList();

            // Solicita validação dos itens
            ValidarItemSegurancaResponse respostaValidacao =
                servicoSeguranca.ValidarItemSeguranca(
                    new ValidarItemSegurancaRequest()
            {
                CodigoSessao   = parametros.CodigoSessao,
                ItensSeguranca = itensSeguranca
            });

            // Cria dicionario com os itens validados para reassociar aos comandos
            Dictionary <string, ItemSegurancaInfo> dicionarioItens = new Dictionary <string, ItemSegurancaInfo>();

            foreach (ItemSegurancaInfo item in respostaValidacao.ItensSeguranca)
            {
                dicionarioItens.Add(item.Tag, item);
            }

            // Reassocia itens de segurança validado aos comandos
            foreach (ComandoInterfaceInfo comando in listaComandos)
            {
                if (dicionarioItens.ContainsKey(comando.CodigoComandoInterface))
                {
                    comando.Seguranca = dicionarioItens[comando.CodigoComandoInterface];
                }
            }

            // Cria dicionário de pais e filhos
            // O dicionário está montado como codigoFilho, codigoPai
            Dictionary <string, ComandoInterfaceInfo> dicionarioPaisFilhos = new Dictionary <string, ComandoInterfaceInfo>();

            foreach (ComandoInterfaceInfo comandoPai in listaComandos)
            {
                foreach (ComandoInterfaceInfo comandoFilho in comandoPai.Filhos)
                {
                    dicionarioPaisFilhos.Add(comandoFilho.CodigoComandoInterface, comandoPai);
                }
            }

            // Remove os não válidados pela segurança
            List <ComandoInterfaceInfo> comandosRemover =
                (from c in listaComandos
                 where !c.Seguranca.Valido.HasValue || c.Seguranca.Valido.Value == false
                 select c).ToList();

            foreach (ComandoInterfaceInfo comandoRemover in comandosRemover)
            {
                if (dicionarioPaisFilhos.ContainsKey(comandoRemover.CodigoComandoInterface))
                {
                    dicionarioPaisFilhos[comandoRemover.CodigoComandoInterface].Filhos.Remove(comandoRemover);
                }
                else
                {
                    respostaReceber.GrupoComandoInterface.ComandosInterfaceRaiz.Remove(comandoRemover);
                }
            }

            // Remover os menus de grupo que não tem filhos
            List <ComandoInterfaceInfo> comandosRemover2 =
                (from c in listaComandos
                 where listaGrupos.Contains(c.CodigoComandoInterface) && c.Filhos.Count == 0
                 select c).ToList();

            foreach (ComandoInterfaceInfo comandoRemover in comandosRemover2)
            {
                if (dicionarioPaisFilhos.ContainsKey(comandoRemover.CodigoComandoInterface))
                {
                    dicionarioPaisFilhos[comandoRemover.CodigoComandoInterface].Filhos.Remove(comandoRemover);
                }
                else
                {
                    respostaReceber.GrupoComandoInterface.ComandosInterfaceRaiz.Remove(comandoRemover);
                }
            }

            // Retorna a arvore
            resposta.ComandosInterfaceRaiz = respostaReceber.GrupoComandoInterface.ComandosInterfaceRaiz;

            // Retorna
            return(resposta);
        }
        private List <TransporteSegurancaInterfaces> ObterInterfaces()
        {
            string lSubSistema     = Request["SubSistema"];
            string lInterfaceAcoes = "Menu_Acoes_" + lSubSistema;
            string lInterfaceDados = "Menu_Dados_" + lSubSistema;
            //string lInterface = "Menu_" + lSubSistema;

            ReceberArvoreComandosInterfaceRequest ReceberInterfacesAcoesReq = new ReceberArvoreComandosInterfaceRequest();

            ReceberInterfacesAcoesReq.CodigoSessao = this.CodigoSessao;
            ReceberInterfacesAcoesReq.CodigoGrupoComandoInterface = lInterfaceAcoes;

            ReceberArvoreComandosInterfaceRequest ReceberInterfacesDadosReq = new ReceberArvoreComandosInterfaceRequest();

            ReceberInterfacesDadosReq.CodigoSessao = this.CodigoSessao;
            ReceberInterfacesDadosReq.CodigoGrupoComandoInterface = lInterfaceDados;

            List <TransporteSegurancaInterfaces> lRetorno = new List <TransporteSegurancaInterfaces>();

            try
            {
                ReceberInterfacesDadosReq.DescricaoUsuarioLogado = base.UsuarioLogado.Nome; ReceberInterfacesDadosReq.IdUsuarioLogado = base.UsuarioLogado.Id;
                ReceberArvoreComandosInterfaceResponse ReceberInterfacesDadosRes = this.ServicoInterface.ReceberArvoreComandosInterface(ReceberInterfacesDadosReq);

                foreach (ComandoInterfaceInfo ci in ReceberInterfacesDadosRes.ComandosInterfaceRaiz)
                {
                    TransporteSegurancaInterfaces iTsi = new TransporteSegurancaInterfaces();
                    iTsi.Nome          = ci.Nome;
                    iTsi.NomePermissao = ci.CodigoComandoInterface.Split('_')[1];
                    iTsi.SubSistema    = ci.CodigoComandoInterface.Split('_')[0];

                    lRetorno.Add(iTsi);
                }
            }
            catch (Exception Ex)
            {
                logger.Error(Ex.Message, Ex);
            }

            try
            {
                ReceberInterfacesAcoesReq.DescricaoUsuarioLogado = base.UsuarioLogado.Nome;
                ReceberInterfacesAcoesReq.IdUsuarioLogado        = base.UsuarioLogado.Id;
                ReceberArvoreComandosInterfaceResponse ReceberInterfacesAcoesRes = this.ServicoInterface.ReceberArvoreComandosInterface(ReceberInterfacesAcoesReq);

                foreach (ComandoInterfaceInfo ci in ReceberInterfacesAcoesRes.ComandosInterfaceRaiz)
                {
                    TransporteSegurancaInterfaces iTsi = new TransporteSegurancaInterfaces();
                    iTsi.Nome          = ci.Nome;
                    iTsi.NomePermissao = ci.CodigoComandoInterface.Split('_')[1];
                    iTsi.SubSistema    = ci.CodigoComandoInterface.Split('_')[0];

                    lRetorno.Add(iTsi);
                }
            }
            catch (Exception Ex)
            {
                logger.Error(Ex.Message, Ex);
            }

            return(lRetorno);
        }