Exemplo n.º 1
0
        /// <summary>
        ///  Notificacao de cancelamento de negocio
        /// </summary>
        /// <param name="evento"></param>
        private void _parse100(EventoSTM evento)
        {
            int offset = 0;
            MEGA0100NotificacaoCancelamentoNegocioInfo info100 = new MEGA0100NotificacaoCancelamentoNegocioInfo();

            info100.FunctionCode = evento.Cabecalho;

            info100.InternalReference = evento.Corpo.Substring(offset, MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD001_TAM_INTERNAL_REFERENCE);
            offset += MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD001_TAM_INTERNAL_REFERENCE;
            offset += MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD002_TAM_FUNCTION_CODE;

            string dthr = evento.Corpo.Substring(offset, MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD003_TAM_DSEABSEVEN);

            info100.DataNegocio = DateTime.ParseExact(dthr, "yyyyMMdd", CultureInfo.InvariantCulture);
            offset += MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD003_TAM_DSEABSEVEN;

            info100.Papel = evento.Corpo.Substring(offset, MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD004_TAM_CVALISIN).Trim();
            offset       += MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD004_TAM_CVALISIN;

            dthr = evento.Corpo.Substring(offset, MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD005_TAM_DSAIOM);
            info100.DataRegistro = DateTime.ParseExact(dthr, "yyyyMMdd", CultureInfo.InvariantCulture);
            offset += MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD005_TAM_DSAIOM;

            info100.SequencialOrdem = evento.Corpo.Substring(offset, MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD006_TAM_NSEQOM);
            offset += MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD006_TAM_NSEQOM;

            info100.IndicadorFormatoPreco = evento.Corpo.Substring(offset, MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD007_TAM_IND_PRICE);
            offset += MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD007_TAM_IND_PRICE;

            string preco = evento.Corpo.Substring(offset, MEGA0138OrdemEliminadaInfo.FIELD009_TAM_PRICE);

            preco         = STMUtilities.saidaFormatada(info100.IndicadorFormatoPreco[0], preco, false, true, false, preco.Length);
            info100.Preco = Convert.ToDecimal(preco, STMUtilities.ciPtBR);
            offset       += MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD008_TAM_PRICE;

            info100.QuantidadeExecutadaNegocio = Convert.ToInt64(evento.Corpo.Substring(offset, MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD009_TAM_QTITTRAN));
            offset += MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD009_TAM_QTITTRAN;

            info100.HoraExecucaoNegocio = evento.Corpo.Substring(offset, MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD010_TAM_HTRAN);
            offset += MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD010_TAM_HTRAN;
            offset += MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD011_TAM_NMSGREPON;
            offset += MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD012_TAM_HMSGREPON;

            info100.CorretoraContraparte = evento.Corpo.Substring(offset, MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD013_TAM_CLDADFCIE);
            offset += MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD013_TAM_CLDADFCIE;

            info100.NumeroNegocio = evento.Corpo.Substring(offset, MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD014_TAM_NTRAN);
            offset += MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD014_TAM_NTRAN;

            info100.Side = evento.Corpo.Substring(offset, MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD015_TAM_ISENOM);
            offset      += MEGA0100NotificacaoCancelamentoNegocioInfo.FIELD015_TAM_ISENOM;

            EventoMega newevent = new EventoMega(TIPO_MSG_0100, info100, evento.MsgID);

            ServicoConectorSTM.epService.EPRuntime.SendEvent(newevent);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Executa a chamada do callback para as mensagems MegaBolsa
        /// </summary>
        /// <param name="mega"></param>
        private void repassaEventoMega(EventoMega mega)
        {
            switch (mega.Function)
            {
            case ParserMegaMessage.TIPO_MSG_0100:
            {
                MEGA0100NotificacaoCancelamentoNegocioInfo info = (MEGA0100NotificacaoCancelamentoNegocioInfo )mega.Info;
                subscriberChannel.OnMega_CancelamentoNegocio(info);
            }
            break;

            case ParserMegaMessage.TIPO_MSG_0103:
            {
                MEGA0103CriacaoNegocioInfo info = (MEGA0103CriacaoNegocioInfo)mega.Info;
                subscriberChannel.OnMega_CriacaoNegocio(info);
            }
            break;

            case ParserMegaMessage.TIPO_MSG_0105:
            {
                MEGA0105NotificacaoExecucaoInfo info = (MEGA0105NotificacaoExecucaoInfo)mega.Info;
                subscriberChannel.OnMega_NotificacaoExecucao(info);
            }
            break;

            case ParserMegaMessage.TIPO_MSG_0138:
            {
                MEGA0138OrdemEliminadaInfo info = (MEGA0138OrdemEliminadaInfo)mega.Info;
                subscriberChannel.OnMega_OrdemEliminada(info);
            }
            break;

            case ParserMegaMessage.TIPO_MSG_0172:
            {
                MEGA0172ConfirmacaoOrdemInfo info = (MEGA0172ConfirmacaoOrdemInfo)mega.Info;
                subscriberChannel.OnMega_ConfirmacaoOrdem(info);
            }
            break;

            default:
                throw new Exception("repassaEventoMega() Tipo de mensagem invalida: " + mega.Function);
            }
        }
Exemplo n.º 3
0
 public void OnMega_CancelamentoNegocio(Gradual.OMS.ConectorSTM.Lib.Mensagens.MEGA0100NotificacaoCancelamentoNegocioInfo info)
 {
     MEGA0100NotificacaoCancelamentoNegocioInfo xxxx = info;
 }