/* * // Obtem o tipo da bolsa * if (pMensagem.Substring(2, 2).Equals("BV")) * mensagem.Bo = "BOV"; * else * mensagem.Bo = "BMF"; * * mensagem.A = pMensagem.Substring(21, 20).Trim(); * String data = pMensagem.Substring(41, 8) + pMensagem.Substring(49, 6); * mensagem.Dt = DateTime.ParseExact(data, "yyyyMMddHHmmss", ciBR); * * mensagem.Ab = Convert.ToDouble(pMensagem.Substring(58, 13), ciBR); * mensagem.Fe = Convert.ToDouble(pMensagem.Substring(71, 13), ciBR); * mensagem.Mi = Convert.ToDouble(pMensagem.Substring(110, 13), ciBR); * mensagem.Mx = Convert.ToDouble(pMensagem.Substring(97, 13), ciBR); * mensagem.Os = Convert.ToDouble(pMensagem.Substring(123, 9).Trim(), ciBR); * mensagem.To = Convert.ToDouble(pMensagem.Substring(158, 8), ciBR); * mensagem.Qt = Convert.ToDouble(pMensagem.Substring(166, 12), ciBR); * mensagem.Vl = Convert.ToDouble(pMensagem.Substring(178, 13), ciBR); */ protected void OnCotacao(object sender, MDSMessageEventArgs args) { lock (queueMensagemMds) { queueMensagemMds.Enqueue(args); } }
private void MessageBroker(string Instrumento, string Mensagem) { string tipoMensagem = Mensagem.ToString().Substring(0, 2); switch (tipoMensagem) { case TIPOMSG_NEGOCIO: case TIPOMSG_ABERTURA: case TIPOMSG_FECHAMENTO: //logger.DebugFormat("Tipo[{0}] Instrumento[{1}]: [{2}]", tipoMensagem, Instrumento, Mensagem); MDSMessageEventArgs args = new MDSMessageEventArgs(); args.Instrumento = Instrumento; args.TipoMsg = tipoMensagem; args.Message = Mensagem; if (OnFastQuoteReceived != null) { OnFastQuoteReceived(this, args); } break; default: break; } }