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