private void processCancelamento(string instrumento, BovespaLivroOfertas livro, string linha) { // caso esteja iniciando reenvio, "limpa" o livro if (emReenvio) { if (!papeisReenvio.Contains(instrumento)) { livro.limpar(); papeisReenvio.Add(instrumento); } } string idOferta = linha.Substring( S4_ID_OFERTA_DATA_OFERTA_INI, S4_ID_OFERTA_NUM_SEQUENCIAL_OFERTA_FIM - S4_ID_OFERTA_DATA_OFERTA_INI) + linha.Substring( S4_ID_OFERTA_ID_CORRETORA_INI, S4_ID_OFERTA_ID_CORRETORA_FIM - S4_ID_OFERTA_ID_CORRETORA_INI); char sentidoOferta = linha[S4_ID_OFERTA_SENTIDO_OFERTA_INI]; char tipoCancelamento = linha[TIPO_CANCELAMENTO_INI]; switch (tipoCancelamento) { case '1': cancelaOfertaSomente(instrumento, livro, idOferta, sentidoOferta); break; case '2': cancelaOfertaEMelhores(instrumento, livro, idOferta, sentidoOferta); break; case '3': cancelaTodasOfertas(livro, idOferta, sentidoOferta); break; } }
private void processAtualizacao(string instrumento, BovespaLivroOfertas livro, string linha) { // caso esteja iniciando reenvio, "limpa" o livro if (emReenvio) { if (!papeisReenvio.Contains(instrumento)) { livro.limpar(); papeisReenvio.Add(instrumento); } } // temporariamente descartando mensagens com oferta a preço de abertura //if (linha.charAt(TIPO_PRECO_REGISTRADO_INI) == 'O') // return; char tipoAcao = linha[TIPO_ACAO_INI]; switch (tipoAcao) { case 'C': atualizacaoCriacao(livro, linha, instrumento); break; case 'M': atualizacaoAlteracao(instrumento, livro, linha); break; case 'R': atualizacaoRetransmissao(livro, linha, instrumento); break; default: break; } }