/// <summary> /// Solicita a execução do echo /// </summary> /// <param name="parametros"></param> /// <returns></returns> public ExecutarEchoResponse ExecutarEcho(ExecutarEchoRequest parametros) { // Prepara resposta ExecutarEchoResponse resposta = new ExecutarEchoResponse() { CodigoMensagemRequest = parametros.CodigoMensagem }; // Executa de acordo com o pedido switch (parametros.TipoFuncao) { case ExecutarEchoTipoFuncaoEnum.EcoarMensagem: if (this.EventoEcho != null) { this.EventoEcho(this, new EchoEventArgs() { Mensagem = parametros.Mensagem }); } break; case ExecutarEchoTipoFuncaoEnum.LigarTimer: if (_timer != null) { // Salva mensagem que será informada no timer _mensagemTimer = parametros.Mensagem; // Cria o timer _timer = new Timer( new TimerCallback(timerCallback), null, new TimeSpan(0, 0, parametros.TempoTimer), new TimeSpan(0, 0, parametros.TempoTimer)); } break; case ExecutarEchoTipoFuncaoEnum.DesligarTimer: if (_timer != null) { // Finaliza o timer _timer.Dispose(); _timer = null; } break; } // Retorna return(resposta); }
private static void testes() { IServicoMensageria servicoMensageria = Ativador.Get <IServicoMensageria>(); AutenticarUsuarioResponse responseAutenticacao = (AutenticarUsuarioResponse) servicoMensageria.ProcessarMensagem( new AutenticarUsuarioRequest() { CodigoUsuario = "Admin", Senha = "123" }); CallbackEvento callbackEvento = new CallbackEvento(); callbackEvento.Evento += new EventHandler <EventoEventArgs>(callbackEvento_Evento); callbackEvento.Evento2 += new EventHandler <EventArgs>(callbackEvento_Evento2); IServicoMensageriaComCallback servicoMensageriaComCallback = Ativador.Get <IServicoMensageriaComCallback>( callbackEvento, responseAutenticacao.Sessao); servicoMensageriaComCallback.AssinarEvento( new AssinarEventoRequest() { CodigoSessao = responseAutenticacao.Sessao.CodigoSessao, TipoServico = typeof(IServicoEcho).FullName + ", " + typeof(IServicoEcho).Assembly.FullName, NomeEvento = "EventoEcho" }); ExecutarEchoResponse responseEcho = (ExecutarEchoResponse) servicoMensageria.ProcessarMensagem( new ExecutarEchoRequest() { TipoFuncao = ExecutarEchoTipoFuncaoEnum.EcoarMensagem, Mensagem = "teste" }); }