Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
            }
        }