Beispiel #1
0
        /// <summary>
        /// Retorna o perfil de risco
        /// </summary>
        private PerfilRiscoInfo receberPerfilRisco()
        {
            // Verifica se consta no cache
            if (_perfilRisco != null)
            {
                return(_perfilRisco);
            }

            // Recebe Perfil
            PerfilRiscoInfo perfilRisco =
                ((ReceberPerfilRiscoResponse)
                 _servicoMensageria.ProcessarMensagem(
                     new ReceberPerfilRiscoRequest()
            {
                CodigoSessao = receberSessaoAdmin().CodigoSessao,
                CodigoPerfilRisco = _consCodigoPerfilRisco
            })).PerfilRiscoInfo;

            // Se não encontrou, cria
            if (perfilRisco == null)
            {
                perfilRisco =
                    ((SalvarPerfilRiscoResponse)
                     _servicoMensageria.ProcessarMensagem(
                         new SalvarPerfilRiscoRequest()
                {
                    CodigoSessao = _sessaoAdmin.CodigoSessao,
                    PerfilRiscoInfo =
                        new PerfilRiscoInfo()
                    {
                        CodigoPerfilRisco = _consCodigoPerfilRisco,
                        NomePerfilRisco = "Perfil Risco Teste",
                        DescricaoPerfilRisco = "Teste de perfil de risco"
                    }
                })).PerfilRisco;
            }

            // Coloca no cache
            _perfilRisco = perfilRisco;

            // Retorna
            return(perfilRisco);
        }
Beispiel #2
0
        /// <summary>
        /// Rotina de entrada dos testes
        /// </summary>
        public void Executar()
        {
            // Pede a migração dos layouts BVMF
            //ConverterBVMFLegadoResponse respostaConverter =
            //    (ConverterBVMFLegadoResponse)
            //        _servicoMensageria.ProcessarMensagem(
            //            new ConverterBVMFLegadoRequest()
            //            {
            //                CaminhoArquivo = _consCaminhoLayoutsLegado
            //            });
            //return;

            // Perfil de risco
            PerfilRiscoInfo perfilRisco = receberPerfilRisco();

            //// Lista de instrumentos bmf
            //ListarInstrumentosBMFResponse respostaInstrumentosBMF =
            //    (ListarInstrumentosBMFResponse)
            //        _servicoMensageria.ProcessarMensagem(
            //            new ListarInstrumentosBMFRequest()
            //            {
            //            });

            //// Lista de instrumentos bovespa
            //ListarInstrumentosBovespaResponse respostaInstrumentosBovespa =
            //    (ListarInstrumentosBovespaResponse)
            //        _servicoMensageria.ProcessarMensagem(
            //            new ListarInstrumentosBovespaRequest()
            //            {
            //            });

            // Garante a criação do usuário de teste
            receberUsuarioTeste();

            // Sincroniza a conta corrente e custodia para os objetos utilizados
            if (_consExecutarLocal)
            {
                sincronizarCustodiaLocal();
            }
            else
            {
                sincronizarContaCorrenteSinacor(_consCodigoCBLC);
                sincronizarCustodiaSinacor(_consCodigoCBLC);
            }

            // Garante a criação das regras de risco
            receberRegraRisco1();
            receberRegraRisco2();

            // Prepara uma mensagem de operação
            ExecutarOrdemRequest mensagemOrdem =
                new ExecutarOrdemRequest()
            {
                CodigoSessao = receberSessaoUsuarioTeste().CodigoSessao,
                Symbol       = "USIM5",
                OrderQty     = 10,
                Price        = 5,
                Side         = OrdemDirecaoEnum.Compra
            };

            // Faz a validação
            ValidarMensagemResponse respostaValidar =
                (ValidarMensagemResponse)
                _servicoMensageria.ProcessarMensagem(
                    new ValidarMensagemRequest()
            {
                CodigoSessao = receberSessaoUsuarioTeste().CodigoSessao,
                SessaoInfo   = receberSessaoUsuarioTeste(),
                Mensagem     = mensagemOrdem
            });
        }