コード例 #1
0
        /// <summary>
        /// Faz login com usuário de teste e mantem a sessão
        /// </summary>
        private SessaoInfo receberSessaoUsuarioTeste()
        {
            // Se a sessão já estiver carregada, retorna ela
            if (_sessaoUsuarioTeste != null)
            {
                return(_sessaoUsuarioTeste);
            }

            // Faz a autenticacao
            AutenticarUsuarioResponse respostaAutenticarUsuario =
                (AutenticarUsuarioResponse)
                _servicoMensageria.ProcessarMensagem(
                    new AutenticarUsuarioRequest()
            {
                CodigoUsuario        = _consUsuarioTeste,
                Senha                = _consUsuarioTesteSenha,
                CodigoSistemaCliente = "teste"
            });

            // Se nao autenticou, dispara erro
            if (respostaAutenticarUsuario.StatusResposta != MensagemResponseStatusEnum.OK)
            {
                throw new Exception(respostaAutenticarUsuario.DescricaoResposta);
            }

            // Salva no cache
            _sessaoUsuarioTeste = respostaAutenticarUsuario.Sessao;

            // Retorna a sessao
            return(respostaAutenticarUsuario.Sessao);
        }
コード例 #2
0
        /// <summary>
        /// Construtor
        /// </summary>
        public InterfaceContextoOMS(SessaoInfo sessaoInfo)
        {
            // Inicializa
            this.SessaoInfo = sessaoInfo;

            //// Cria informações da sessão com o servidor de ordens
            this.SessaoOrdensInfo = new SessaoOrdensInfo()
            {
                CodigoSessao = Guid.NewGuid().ToString()
            };

            // Cria o callback para o serviço de ordens
            this.CallbackEvento = new CallbackEvento();

            // Registra o evento para tratamento das mensagens
            this.CallbackEvento.Evento += new EventHandler <EventoEventArgs>(CallbackEvento_Evento);

            // Faz a assinatura no servidor de ordens
            this.ServicoOrdensServidor = Ativador.Get <IServicoOrdensServidor>(this.CallbackEvento, this.SessaoOrdensInfo);

            // Carrega os caches
            this.CarregarPerfis();
            this.CarregarPermissoes();
            this.CarregarUsuarioGrupos();
        }
コード例 #3
0
        /// <summary>
        /// Registro Local
        /// </summary>
        /// <param name="parametros"></param>
        /// <param name="callback"></param>
        public void Registrar(object parametros, ICallbackEvento callback)
        {
            // Inicializa
            SessaoInfo sessaoInfo = (SessaoInfo)parametros;

            // Adiciona na coleção
            _clientes.Add(
                sessaoInfo.CodigoSessao,
                new ServicoMensageriaClienteHelper()
            {
                Callback = callback,
                Sessao   = sessaoInfo
            });
        }
コード例 #4
0
        /// <summary>
        /// Registro pelo WCF
        /// </summary>
        /// <param name="parametros"></param>
        public void Registrar(object parametros)
        {
            // Inicializa
            SessaoInfo sessaoInfo = (SessaoInfo)parametros;

            // Recebe o objeto de callback
            ICallbackEvento callback = OperationContext.Current.GetCallbackChannel <ICallbackEvento>();

            // Adiciona na coleção
            _clientes.Add(
                sessaoInfo.CodigoSessao,
                new ServicoMensageriaClienteHelper()
            {
                Callback = callback,
                Sessao   = sessaoInfo
            });
        }