Beispiel #1
0
        /// <summary>
        /// Executa a chamada do callback para mensagens CBLC
        /// </summary>
        /// <param name="cblc"></param>
        private void repassaEventoCBLC(EventoCBLC cblc)
        {
            switch (cblc.Cabecalho)
            {
            case ParserCBLCMessage.TIPO_MSG_AN:
            {
                CBLCConfirmacaoNegocioMegaBolsaInfo info = (CBLCConfirmacaoNegocioMegaBolsaInfo)cblc.Info;
                subscriberChannel.OnCBLC_ConfirmacaoNegocioMegabolsa(info);
            }
            break;

            case ParserCBLCMessage.TIPO_MSG_ANF:
            {
                CBLCConfirmacaoNegocioBovespaFixInfo fixinfo = (CBLCConfirmacaoNegocioBovespaFixInfo)cblc.Info;
                subscriberChannel.OnCBLC_ConfirmacaoNegocioBovespaFIX(fixinfo);
            }
            break;

            default:
                throw new Exception("repassaEventoCBLC() Error: Tipo de mensagem invalida: " + cblc.Cabecalho);
            }
        }
Beispiel #2
0
        /// <summary>
        /// Mensagens Bovespa FIX
        /// </summary>
        /// <param name="evento"></param>
        private void _parseANF(EventoSTM evento)
        {
            try
            {
                int offset = 0;
                CBLCConfirmacaoNegocioBovespaFixInfo infoanf = new CBLCConfirmacaoNegocioBovespaFixInfo();

                infoanf.Cabecalho = evento.Cabecalho;

                infoanf.CodigoSistemaNegociacao = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD001_TAM_CODIGO_SISTEMA_NEGOCIACAO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD001_TAM_CODIGO_SISTEMA_NEGOCIACAO;

                infoanf.DataNegociacao = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD002_TAM_DATA_NEGOCIACAO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD002_TAM_DATA_NEGOCIACAO;

                infoanf.TipoOperacao = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD003_TAM_TIPO_OPERACAO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD003_TAM_TIPO_OPERACAO;

                infoanf.CodigoInstrumento = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD004_TAM_CODIGO_INSTRUMENTO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD004_TAM_CODIGO_INSTRUMENTO;

                infoanf.CodigoISIN = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD005_TAM_CODIGO_ISIN);
                offset            += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD005_TAM_CODIGO_ISIN;

                infoanf.NumeroDistribuicao = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD006_TAM_NUMERO_DISTRIBUICAO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD006_TAM_NUMERO_DISTRIBUICAO;

                infoanf.NumeroSerie = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD007_TAM_NUMERO_SERIE);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD007_TAM_NUMERO_SERIE;

                infoanf.NomeResumidoSociedadeEmissora = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD008_TAM_NOME_SOCIEDADE_EMISSORA);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD008_TAM_NOME_SOCIEDADE_EMISSORA;

                infoanf.EspecificacaoPapel = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD009_TAM_ESPECIFICACAO_PAPEL);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD009_TAM_ESPECIFICACAO_PAPEL;

                infoanf.CodigoOperacaoOrigem = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD010_TAM_CODIGO_OPERACAO_ORIGEM);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD010_TAM_CODIGO_OPERACAO_ORIGEM;

                infoanf.CodigoRodaNegociacao = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD011_TAM_CODIGO_RODA_NEGOCIACAO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD011_TAM_CODIGO_RODA_NEGOCIACAO;

                infoanf.FatorCotacaoPreco = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD012_TAM_FATOR_COTACAO_PRECO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD012_TAM_FATOR_COTACAO_PRECO;

                infoanf.CodigoMercado = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD013_TAM_CODIGO_MERCADO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD013_TAM_CODIGO_MERCADO;

                infoanf.PrecoExercicio = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD014_TAM_PRECO_EXERCICIO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD014_TAM_PRECO_EXERCICIO;

                infoanf.CodigoColocacaoMercado = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD015_TAM_CODIGO_COLOCACAO_MERCADO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD015_TAM_CODIGO_COLOCACAO_MERCADO;

                infoanf.TipoCotacao = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD016_TAM_TIPO_COTACAO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD016_TAM_TIPO_COTACAO;

                infoanf.CodigoBDI = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD017_TAM_CODIGO_BDI);
                offset           += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD017_TAM_CODIGO_BDI;

                infoanf.NumeroNegocio = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD018_TAM_NUMERO_NEGOCIO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD018_TAM_NUMERO_NEGOCIO;

                infoanf.HoraNegocio = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD019_TAM_HORA_NEGOCIO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD019_TAM_HORA_NEGOCIO;

                infoanf.TipoTransacao = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD020_TAM_TIPO_TRANSACAO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD020_TAM_TIPO_TRANSACAO;

                infoanf.CodigoOrigemOperacao = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD021_TAM_CODIGO_ORIGEM_OPERACAO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD021_TAM_CODIGO_ORIGEM_OPERACAO;

                infoanf.PrecoNegocio = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD022_TAM_PRECO_NEGOCIO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD022_TAM_PRECO_NEGOCIO;

                infoanf.QuantidadeTitulosNegocio = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD023_TAM_QTDE_TITULOS_NEGOCIO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD023_TAM_QTDE_TITULOS_NEGOCIO;

                infoanf.VolumeFinanceiroNegocio = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD024_TAM_VOL_FINANCEIRO_NEGOCIO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD024_TAM_VOL_FINANCEIRO_NEGOCIO;

                infoanf.PercentualOscilacaoPreco = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD025_TAM_PERCENTUAL_OSCILACAO_PRECO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD025_TAM_PERCENTUAL_OSCILACAO_PRECO;

                infoanf.SinalOscilacao = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD026_TAM_SINAL_OSCILACAO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD026_TAM_SINAL_OSCILACAO;

                infoanf.PrecoMedio = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD027_TAM_PRECO_MEDIO);
                offset            += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD027_TAM_PRECO_MEDIO;

                infoanf.PrecoMedio = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD027_TAM_PRECO_MEDIO);
                offset            += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD027_TAM_PRECO_MEDIO;

                infoanf.PrecoReferenciaInstrumento = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD028_TAM_PRECO_REFERENCIA_INSTRUMENTO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD028_TAM_PRECO_REFERENCIA_INSTRUMENTO;

                infoanf.Side = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD029_TAM_NATUREZA_OPERACAO);
                offset      += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD029_TAM_NATUREZA_OPERACAO;

                infoanf.CodigoAgenteDestino = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD030_TAM_CODIGO_AGENTE_DESTINO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD030_TAM_CODIGO_AGENTE_DESTINO;

                infoanf.CodigoCorretoraDestino = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD031_TAM_CODIGO_CORRETORA_DESTINO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD031_TAM_CODIGO_CORRETORA_DESTINO;

                infoanf.CodigoAgenteContraparte = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD032_TAM_CODIGO_AGENTE_CONTRAPARTE);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD032_TAM_CODIGO_AGENTE_CONTRAPARTE;

                infoanf.CodigoCorretoraContraparte = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD033_TAM_CODIGO_CORRETORA_CONTRAPARTE);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD033_TAM_CODIGO_CORRETORA_CONTRAPARTE;

                infoanf.CodigoInvestidor = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD034_TAM_CODIGO_INVESTIDOR);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD034_TAM_CODIGO_INVESTIDOR;

                infoanf.PrazoLiquidacaoNegocio = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD035_TAM_PRAZO_LIQUIDACAO_NEGOCIO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD035_TAM_PRAZO_LIQUIDACAO_NEGOCIO;

                infoanf.DataVencimento = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD036_TAM_DATA_VENCIMENTO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD036_TAM_DATA_VENCIMENTO;

                infoanf.FormaLiquidacao = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD037_TAM_FORMA_LIQUIDACAO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD037_TAM_FORMA_LIQUIDACAO;

                infoanf.NumeroOferta = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD038_TAM_NUMERO_OFERTA);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD038_TAM_NUMERO_OFERTA;

                infoanf.CodigoInstrumentoObjeto = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD039_TAM_CODIGO_INSTRUMENTO_OBJETO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD039_TAM_CODIGO_INSTRUMENTO_OBJETO;

                infoanf.NumeroOperacaoVinculada = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD040_TAM_NUMERO_OPERACAO_VINCULADA);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD040_TAM_NUMERO_OPERACAO_VINCULADA;

                infoanf.Brokeragem = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD041_TAM_BROKERAGEM);
                offset            += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD041_TAM_BROKERAGEM;

                infoanf.CodigoNegociacao = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD042_TAM_CODIGO_NEGOCIACAO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD042_TAM_CODIGO_NEGOCIACAO;

                infoanf.DataPrecoReferencia = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD043_TAM_DATA_PRECO_REFERENCIA);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD043_TAM_DATA_PRECO_REFERENCIA;

                infoanf.NomeResumidoSistema = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD044_TAM_NOME_RESUMIDO_SISTEMA);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD044_TAM_NOME_RESUMIDO_SISTEMA;

                infoanf.TaxaNegocio = evento.Corpo.Substring(offset, CBLCConfirmacaoNegocioBovespaFixInfo.FIELD045_TAM_TAXA_NEGOCIO);
                offset += CBLCConfirmacaoNegocioBovespaFixInfo.FIELD045_TAM_TAXA_NEGOCIO;

                EventoCBLC newevent = new EventoCBLC(TIPO_MSG_ANF, infoanf, evento.MsgID);

                ServicoConectorSTM.epService.EPRuntime.SendEvent(newevent);
            }
            catch (Exception ex)
            {
                logger.Error("Erro _parseANF()" + ex.Message, ex);
                logger.Error("Msg: [" + evento.Corpo + "]");
            }
        }
Beispiel #3
0
 public void OnCBLC_ConfirmacaoNegocioBovespaFIX(Gradual.OMS.ConectorSTM.Lib.Mensagens.CBLCConfirmacaoNegocioBovespaFixInfo info)
 {
     CBLCConfirmacaoNegocioBovespaFixInfo fix = info;
 }