コード例 #1
0
        /// <summary>
        /// Garante a existencia da custodia informada
        /// </summary>
        /// <param name="codigoCustodia"></param>
        private CustodiaInfo garantirExistenciaCustodia(string codigoCustodia)
        {
            // Inicializa
            CustodiaInfo custodia = null;

            // Garante a criação da custodia
            ReceberCustodiaResponse respostaReceberCustodia =
                (ReceberCustodiaResponse)
                _servicoMensageria.ProcessarMensagem(
                    new ReceberCustodiaRequest()
            {
                CodigoSessao     = receberSessaoAdmin().CodigoSessao,
                CodigoCustodia   = _consCodigoCustodia,
                CarregarCotacoes = false
            });

            if (respostaReceberCustodia.CustodiaInfo == null)
            {
                // Cria custódia e salva
                SalvarCustodiaResponse respostaSalvarCustodia =
                    (SalvarCustodiaResponse)
                    _servicoMensageria.ProcessarMensagem(
                        new SalvarCustodiaRequest()
                {
                    CodigoSessao = receberSessaoAdmin().CodigoSessao,
                    CustodiaInfo =
                        new CustodiaInfo()
                    {
                        CodigoCustodia = _consCodigoCustodia
                    }
                });

                // Pega custodia
                custodia = respostaSalvarCustodia.Custodia;

                // Informa a custódia no usuário e salva
                UsuarioInfo usuarioTeste = receberUsuarioTeste();
                usuarioTeste.Complementos.ReceberItem <ContextoOMSInfo>().CodigoCustodia = custodia.CodigoCustodia;
                _servicoMensageria.ProcessarMensagem(
                    new SalvarUsuarioRequest()
                {
                    CodigoSessao = _sessaoAdmin.CodigoSessao,
                    Usuario      = usuarioTeste
                });
            }
            else
            {
                // Pega a custodia
                custodia = respostaReceberCustodia.CustodiaInfo;
            }

            // Retorna
            return(custodia);
        }
コード例 #2
0
        /// <summary>
        /// Garante uma carga inicial para custodia
        /// </summary>
        private void sincronizarCustodiaLocal()
        {
            // Recebe a custodia
            CustodiaInfo custodia = garantirExistenciaCustodia(_consCodigoCustodia);

            // Insere posições de teste
            custodia.Posicoes.Clear();
            custodia.Posicoes.Add(
                new CustodiaPosicaoInfo()
            {
                CodigoAtivo        = "USIM5",
                CodigoBolsa        = "BOVESPA",
                QuantidadeAbertura = 100,
                QuantidadeAtual    = 100
            });
            custodia.Posicoes.Add(
                new CustodiaPosicaoInfo()
            {
                CodigoAtivo        = "PETR4",
                CodigoBolsa        = "BOVESPA",
                QuantidadeAbertura = 200,
                QuantidadeAtual    = 200
            });
            custodia.Posicoes.Add(
                new CustodiaPosicaoInfo()
            {
                CodigoAtivo        = "CSAN3",
                CodigoBolsa        = "BOVESPA",
                QuantidadeAbertura = 100,
                QuantidadeAtual    = 100
            });

            // Salva custódia
            SalvarCustodiaResponse respostaSalvar =
                (SalvarCustodiaResponse)
                _servicoMensageria.ProcessarMensagem(
                    new SalvarCustodiaRequest()
            {
                CodigoSessao = _sessaoAdmin.CodigoSessao,
                CustodiaInfo = custodia
            });

            // Invalida cache
            _custodia = null;
        }