private void comporMensagem(MensagemRequestBase mensagem) { if (mensagem.GetType() == typeof(ExecutarOrdemRequest)) { ExecutarOrdemRequest msg = (ExecutarOrdemRequest)mensagem; msg.ClOrdID = _servicoOrdens.GerarCodigoMensagem("ORD"); msg.CodigoCliente = "123"; msg.DataReferencia = DateTime.Now; msg.CodigoBolsa = "BMF"; msg.TransactTime = DateTime.Now.Date; msg.Price = 100; msg.OrderQty = 10; } else if (mensagem.GetType() == typeof(CancelarOrdemRequest)) { CancelarOrdemRequest msg = (CancelarOrdemRequest)mensagem; msg.ClOrdID = _servicoOrdens.GerarCodigoMensagem("CNC"); msg.CodigoBolsa = "BMF"; msg.CodigoCliente = "123"; } else { mensagem.CodigoMensagem = _servicoOrdens.GerarCodigoMensagem("MSG"); } }
private void mostrarMensagem(MensagemRequestBase mensagem) { lstMensagem.SelectedItem = mensagem.GetType(); _mensagemRequest = mensagem; comporMensagem(_mensagemRequest); ppg.SelectedObject = _mensagemRequest; tab.SelectedTab = tabEnviarMensagem; }
private void lstMensagem_SelectedIndexChanged(object sender, EventArgs e) { // Cria instancia da mensagem if (lstMensagem.SelectedItem != null) { _mensagemRequest = (MensagemRequestBase)Activator.CreateInstance((Type)lstMensagem.SelectedItem); comporMensagem(_mensagemRequest); ppg.SelectedObject = _mensagemRequest; } }
public MensagemResponseBase ProcessarMensagem(MensagemRequestBase parametros) { Type lTipoParametro = parametros.GetType(); if (lTipoParametro == typeof(AutenticarUsuarioRequest)) { AutenticarUsuarioResponse lResposta = new AutenticarUsuarioResponse(); lResposta.StatusResposta = MensagemResponseStatusEnum.OK; lResposta.Sessao = new SessaoInfo(); lResposta.Sessao.CodigoSessao = Guid.NewGuid().ToString(); return(lResposta); } else if (lTipoParametro == typeof(ValidarItemSegurancaRequest)) { ValidarItemSegurancaResponse lResposta = new ValidarItemSegurancaResponse(); lResposta.StatusResposta = MensagemResponseStatusEnum.OK; lResposta.ItensSeguranca = ((ValidarItemSegurancaRequest)parametros).ItensSeguranca; foreach (ItemSegurancaInfo lItem in lResposta.ItensSeguranca) { lItem.Valido = true; } return(lResposta); } else if (lTipoParametro == typeof(ListarUsuariosRequest)) { ListarUsuariosResponse lResposta = new ListarUsuariosResponse(); lResposta.Usuarios = new List <UsuarioInfo>(); lResposta.Usuarios.Add(new UsuarioInfo() { Nome = "Teste", Email = "*****@*****.**", CodigoUsuario = "1" }); return(lResposta); } else { throw new NotImplementedException(string.Format("Mock não implementado para [{0}]", lTipoParametro)); } }
private void popupMensagensCriarMensagem_Click(object sender, EventArgs e) { if (grdMensagens.SelectedRows.Count > 0) { Mensagem mensagem = (Mensagem)grdMensagens.SelectedRows[0].DataBoundItem; BinaryFormatter serializer = new BinaryFormatter(); MemoryStream ms = new MemoryStream(); serializer.Serialize(ms, mensagem.Request); ms.Position = 0; MensagemRequestBase mensagemRequest = (MensagemRequestBase)serializer.Deserialize(ms); mostrarMensagem(mensagemRequest); } }
protected override void OnLoad(EventArgs e) { // Realiza cadeia do load base.OnLoad(e); // Verifica se tem acao string acao = Request["acao"]; if (acao != null) { // Pega o tipo da mensagem Type tipoMensagem = ResolutorTipos.Resolver(Request["TipoMensagem"]); // Desserializa a mensagem json para o tipo correto MensagemRequestBase mensagemRequest = null; // Apenas se descobriu o tipo da mensagem if (tipoMensagem != null && Request["Mensagem"] != null) { // Desserializa a mensagem mensagemRequest = (MensagemRequestBase) JsonConvert.DeserializeObject(Request["Mensagem"], tipoMensagem); // Se tem sessao, coloca if (Session["CodigoSessao"] != null) { mensagemRequest.CodigoSessao = (string)Session["CodigoSessao"]; } } // Tem objeto para extrair? //object objeto = null; //string jsonObjeto = Request["mensagem"]; //string tipoObjeto = Request["tipoMensagem"]; //if (tipoObjeto != null && jsonObjeto != null) // objeto = JsonConvert.DeserializeObject(jsonObjeto, Type.GetType(tipoObjeto)); // Pede execução da ação object retorno = OnExecutarAcao(acao, mensagemRequest); // Serializa a resposta Response.Clear(); Response.Write(JsonConvert.SerializeObject(retorno)); Response.End(); } }
/// <summary> /// Consulta sistemas cliente de acordo com o filtro informado /// </summary> /// <param name="parametros"></param> /// <returns></returns> public ConsultarSistemasClienteResponse ConsultarSistemasCliente(MensagemRequestBase parametros) { // Transforma as condições em lista de condições para a pesquisa na persistencia List <CondicaoInfo> condicoes = new List <CondicaoInfo>(); // Retorna a lista de acordo com os filtros return (new ConsultarSistemasClienteResponse() { CodigoMensagemRequest = parametros.CodigoMensagem, SistemasCliente = _servicoPersistencia.ConsultarObjetos <SistemaClienteInfo>( new ConsultarObjetosRequest <SistemaClienteInfo>() { Condicoes = condicoes }).Resultado }); }
/// <summary> /// Processa a mensagem solicitada. /// Faz o roteamento da mensagem para o devido serviço /// </summary> /// <param name="parametros"></param> /// <returns></returns> public MensagemResponseBase ProcessarMensagem(MensagemRequestBase parametros) { // Repassa a mensagem return(_servicoMensageria.ProcessarMensagem(parametros)); }
/// <summary> /// Processa a mensagem solicitada. /// Faz o roteamento da mensagem para o devido serviço /// </summary> /// <param name="parametros"></param> /// <returns></returns> public MensagemResponseBase ProcessarMensagem(MensagemRequestBase parametros) { // Prepara resposta MensagemResponseBase resposta = null; // Bloco de controle try { // Passa a mensagem pela validação ValidarMensagemResponse respostaValidacao = _servicoValidacao.ValidarMensagem( new ValidarMensagemRequest() { CodigoSessao = parametros.CodigoSessao, Mensagem = parametros }); // Verifica o retorno da validação if (respostaValidacao.ContextoValidacao.MensagemValida) { // Tipo da mensagem Type tipoMensagem = parametros.GetType(); // Acha o método que processa este tipo de mensagem MethodInfo metodo = _tiposConhecidos[tipoMensagem]; // Tipo do servico Type tipoServico = metodo.ReflectedType; // Pega instancia do servico object servico = Ativador.Get(tipoServico); // Executa resposta = (MensagemResponseBase)metodo.Invoke(servico, new object[] { parametros }); // Faz o log da mensagem logger.Info("ServicoMensageria.ProcessarMensagem: " + Serializador.TransformarEmString(parametros)); } else { // Cria resposta resposta = criarResponsePadrao(parametros.GetType()); // Preenche a resposta resposta.CodigoMensagemRequest = parametros.CodigoMensagem; resposta.Criticas = respostaValidacao.Criticas; resposta.StatusResposta = MensagemResponseStatusEnum.ErroValidacao; resposta.DescricaoResposta = constDescricaoErroValidacao; // Faz o log logger.Error("ServicoMensageria.ProcessarMensagem (Erro de Validação): " + Serializador.TransformarEmString(respostaValidacao)); } } catch (Exception ex) { // Faz o log logger.Error("Erro ao processar mensagem: " + parametros.CodigoMensagem, ex); // Cria resposta resposta = criarResponsePadrao(parametros.GetType()); // Preenche a resposta resposta.CodigoMensagemRequest = parametros.CodigoMensagem; resposta.StatusResposta = MensagemResponseStatusEnum.ErroPrograma; resposta.DescricaoResposta = ex.ToString(); } // Retorna return(resposta); }
public string ResponderSalvar() { string lRetorno = string.Empty; string lObjetoJson = Request.Params["ObjetoJson"]; string TipoDeObjeto = Request["TipoDeObjetoPai"]; TransporteSegurancaItemFilho lDados; MensagemRequestBase lRequest; MensagemResponseBase lResponse; try { lDados = JsonConvert.DeserializeObject <TransporteSegurancaItemFilho>(lObjetoJson); switch (TipoDeObjeto) { case "Usuario": lRequest = new ReceberUsuarioRequest(); ((ReceberUsuarioRequest)lRequest).CodigoUsuario = lDados.ParentId; lRequest.CodigoSessao = this.CodigoSessao; lResponse = ServicoSeguranca.ReceberUsuario((ReceberUsuarioRequest)lRequest); break; case "Grupo": lRequest = new ReceberUsuarioGrupoRequest(); ((ReceberUsuarioGrupoRequest)lRequest).CodigoUsuarioGrupo = lDados.ParentId; lRequest.CodigoSessao = this.CodigoSessao; lResponse = ServicoSeguranca.ReceberUsuarioGrupo((ReceberUsuarioGrupoRequest)lRequest); break; default: return(RetornarErroAjax("Não é possível associar um tipo de item que não seja Usuários ou Grupos.")); } if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK) { MensagemResponseBase lSalvarResponse; MensagemRequestBase lSalvarRequest = null; if (lResponse is ReceberUsuarioResponse) { UsuarioInfo lUsuario = ((ReceberUsuarioResponse)lResponse).Usuario; lUsuario.Perfis.Add(lDados.Item); lSalvarRequest = new SalvarUsuarioRequest() { CodigoSessao = this.CodigoSessao, Usuario = lUsuario }; lSalvarResponse = ServicoSeguranca.SalvarUsuario((SalvarUsuarioRequest)lSalvarRequest); } else { UsuarioGrupoInfo lGrupo = ((ReceberUsuarioGrupoResponse)lResponse).UsuarioGrupo; lGrupo.Perfis.Add(lDados.Item); lSalvarRequest = new SalvarUsuarioGrupoRequest() { CodigoSessao = this.CodigoSessao, UsuarioGrupo = lGrupo }; lSalvarResponse = ServicoSeguranca.SalvarUsuarioGrupo((SalvarUsuarioGrupoRequest)lSalvarRequest); } if (lSalvarResponse.StatusResposta == MensagemResponseStatusEnum.OK) { base.RegistrarLogInclusao(); return(RetornarSucessoAjax(new TransporteRetornoDeCadastro(lDados.ParentId + "|" + lDados.Item + "|" + TipoDeObjeto), "Dados associados com sucesso")); } else { return(RetornarErroAjax(lSalvarResponse.DescricaoResposta)); } } else { return(RetornarErroAjax(lResponse.DescricaoResposta)); } } catch (Exception ex) { return(RetornarErroAjax(ex.Message)); } }