public BuscarPapelCadastradoResponse BuscarPapelCadastradoMds(BuscarPapelCadastradoRequest pRequest) { BuscarPapelCadastradoResponse lResposta = new BuscarPapelCadastradoResponse(); try { string lAtivo = pRequest.Instrumento.ToUpper(); CadastroPapeisMdsDbLib lCadastroPapeisMdsDb = new CadastroPapeisMdsDbLib(); lCadastroPapeisMdsDb._ConnectionStringName = ConnectionStringMDS; lResposta.PapelCadastradoMDS = lCadastroPapeisMdsDb.BuscarPapelCadastradoMds(pRequest.Instrumento.ToUpper()); lResposta.StatusResposta = MensagemResponseStatusEnum.OK; } catch (Exception ex) { lResposta.DescricaoResposta = ex.Message; lResposta.StatusResposta = MensagemResponseStatusEnum.ErroPrograma; logger.Error(ex.StackTrace); } return(lResposta); }
private void ListarPapeisNegociadosBovespaBmf(object pStateTransaction) { try { PapelNegociadoBmfDbLib lPapelBmfDb = new PapelNegociadoBmfDbLib(); List <PapelNegociadoBmfInfo> listPapelBmf = lPapelBmfDb.ListarPapelNegociadoBmf(); PapelNegociadoBovespaDbLib lPapelBovespaDb = new PapelNegociadoBovespaDbLib(); List <PapelNegociadoBovespaInfo> listPapelBovespa = lPapelBovespaDb.ListarPapelNegociadoBovespa(); ListaPapeisNegociados = new Hashtable(); ListaPapeisNegociados.Clear(); lock (ListaPapeisNegociados) { foreach (PapelNegociadoBovespaInfo item in listPapelBovespa) { if (!ListaPapeisNegociados.Contains(item.CodNegociacao.Trim())) { ListaPapeisNegociados.Add(item.CodNegociacao.Trim(), item); } } foreach (PapelNegociadoBmfInfo item in listPapelBmf) { if (!ListaPapeisNegociados.Contains(string.Concat(item.CodMercadoria.Trim(), item.SerieVencimento.Trim()))) { ListaPapeisNegociados.Add(string.Concat(item.CodMercadoria.Trim(), item.SerieVencimento.Trim()), item); } } logger.Info(string.Concat("Entrou no ListarPapeisNegociadosBovespaBmf e listou ", ListaPapeisNegociados.Count, " papeis")); } ListaCadastroPapeisMDS = new Dictionary <string, CadastroPapelMdsInfo>(); ListaCadastroPapeisMDS.Clear(); lock (ListaCadastroPapeisMDS) { CadastroPapeisMdsDbLib lCadastroPapeisMdsDb = new CadastroPapeisMdsDbLib(); lCadastroPapeisMdsDb._ConnectionStringName = ConnectionStringMDS; ListaCadastroPapeisMDS = lCadastroPapeisMdsDb.ListarCadastroPapeisMDS(); logger.Info(string.Concat("Entrou no ListarCadastroPapeisMDS e listou ", ListaCadastroPapeisMDS.Count, " papeis")); List <string> ListaComposicaoIndicesMDS = lCadastroPapeisMdsDb.ListarComposicaoIndicesMDS(); logger.Info(string.Concat("Entrou no ListarComposicaoIndicesMDS e listou ", ListaComposicaoIndicesMDS.Count, " papeis")); foreach (string item in ListaComposicaoIndicesMDS) { string[] composicaoIndice = item.Split('@'); string indice = composicaoIndice[0]; string instrumento = composicaoIndice[1]; if (ListaCadastroPapeisMDS.ContainsKey(instrumento)) { CadastroPapelMdsInfo dadosInstrumento = ListaCadastroPapeisMDS[instrumento]; dadosInstrumento.ComposicaoIndice += indice + ","; ListaCadastroPapeisMDS[instrumento] = dadosInstrumento; } else { logger.Error("Ops, nao ha instrumento [" + instrumento + "] na ListaCadastroPapeisMDS, erro na composicao de Indice"); } } logger.Info("Composição dos Indices atualizado"); } } catch (Exception ex) { logger.Error(pStateTransaction, ex); } }