public void ImportacaoAvulsaANBIMA() { try { gLogger.Debug("Obtendo relacao de arquivos para serem importados"); ImportacaoDbLib lImpDB = new ImportacaoDbLib(); List <ProdutosInfo> lProdutos = lImpDB.PesquisarProduto(); List <ProdutosInfo> ListaProduto = lImpDB.ListarProduto(); Dictionary <string, int> ListaIdProdutoAnbima = new Dictionary <string, int>(); ListaProduto.ForEach(produto => { if (!ListaIdProdutoAnbima.ContainsKey(produto.IdCodigoAnbima)) { ListaIdProdutoAnbima.Add(produto.IdCodigoAnbima, produto.IdProduto); } }); this.gListaCodigoAnbima.Clear(); lProdutos.ForEach(produto => { gLogger.InfoFormat("Fundo encontrado: [{0} - {1}] ", produto.IdCodigoAnbima, produto.NomeProduto); gListaCodigoAnbima.Add(produto.IdCodigoAnbima); }); LeituraArquivos lLeitura = new LeituraArquivos(); //List<FundosDiaInfo> lFundosDia = lLeitura.LeArquivoFundosDiaAvulsa(); List <FundosMesInfo> lFundosMes = lLeitura.LeArquivoFundosMesAvulsa(); //List<FundosMovCotaInfo> lFundosMovCota = lLeitura.LeArquivoFundosMovCotaAvulsa(); //List<TaxaAdministracaoInfo> lFundosTaxaAdm = lLeitura.LeArquivoFundosTaxaAdm(); //lFundosDia.ForEach( // fundo => // { // if (gListaCodigoAnbima.Count > 0 && gListaCodigoAnbima.Contains(fundo.CodigoFundo)) // { // lImpDB.SalvarRentabilidadeDiaria(fundo); // gLogger.InfoFormat("Rentabilidade Dia -> [{0}] importado com sucesso", fundo.CodigoFundo); // } // }); lFundosMes.ForEach( fundo => { if (gListaCodigoAnbima.Count > 0 && gListaCodigoAnbima.Contains(fundo.CodigoFundo)) { lImpDB.SalvarRentabilidadeMes(fundo); gLogger.InfoFormat("Rentabiliadde Mês -> [{0}] importado com sucesso", fundo.CodigoFundo); } }); //lFundosMovCota.ForEach( // fundo => // { // if (gListaCodigoAnbima.Count > 0 ) // { // if (ListaIdProdutoAnbima.ContainsKey(fundo.CodigoFundo)) // { // fundo.IdProduto = ListaIdProdutoAnbima[fundo.CodigoFundo]; // lImpDB.SalvarProdutoMovimento(fundo); // gLogger.InfoFormat("Fundos Mov Cota -> [{0}] importado com sucesso", fundo.CodigoFundo); // } // } // }); } catch (Exception ex) { gLogger.Error("Ocorreu um erro ao acessar o metodo ImportacaoAvulsaANBIMA.", ex); } }
public void ThreadImportacaoAnbima(object sender, bool signed) { DateTime lNow = DateTime.Now; List <string> listHorarios = ListaHorarios(this.HorariosImportacaoRentabilidade); try { if (listHorarios.Contains(lNow.ToString("HH:mm"))) { gLogger.Debug("Obtendo relacao de arquivos para serem importados"); SharpSSH lSftp = new SharpSSH(); bool lTransferiu = lSftp.TranferirArquivo(); if (lTransferiu) { ImportacaoDbLib lImpDB = new ImportacaoDbLib(); List <ProdutosInfo> lProdutos = lImpDB.PesquisarProduto(); List <ProdutosInfo> ListaProduto = lImpDB.ListarProduto(); Dictionary <string, int> ListaIdProdutoAnbima = new Dictionary <string, int>(); ListaProduto.ForEach(produto => { if (!ListaIdProdutoAnbima.ContainsKey(produto.IdCodigoAnbima)) { ListaIdProdutoAnbima.Add(produto.IdCodigoAnbima, produto.IdProduto); } }); this.gListaCodigoAnbima.Clear(); lProdutos.ForEach(produto => { gLogger.InfoFormat("Fundo encontrado: [{0} - {1}] ", produto.IdCodigoAnbima, produto.NomeProduto); gListaCodigoAnbima.Add(produto.IdCodigoAnbima); }); LeituraArquivos lLeitura = new LeituraArquivos(); List <FundosDiaInfo> lFundosDia = lLeitura.LeArquivoFundosDia(); List <FundosMesInfo> lFundosMes = lLeitura.LeArquivoFundosMes(); //List<FundosMovCotaInfo> lFundosMovCota = lLeitura.LeArquivoFundosMovCota(); List <TaxaAdministracaoInfo> lTaxaAdministracao = lLeitura.LeArquivoFundosTaxaAdm(); List <ANBIMAIndicadoresMesInfo> lIndicadoresMes = lLeitura.LerArquivoIndcadoresMes(); List <FundosInfo> lCadFundos = lLeitura.LeArquivoCadFundos(); lIndicadoresMes.ForEach( indicador => { lImpDB.SalvarIndicadoresMes(indicador); gLogger.InfoFormat("Indicador -> [{0}] importado com sucesso", indicador.CodigoIndicador); }); lTaxaAdministracao.ForEach( taxa => { if (gListaCodigoAnbima.Count > 0 && gListaCodigoAnbima.Contains(taxa.CodigoFundo)) { lImpDB.SalvarTaxaAdministrador(taxa); gLogger.InfoFormat("Taxa administracao -> [{0}] importada com sucesso", taxa.CodigoFundo); } } ); lFundosDia.ForEach( fundo => { if (gListaCodigoAnbima.Count > 0 && gListaCodigoAnbima.Contains(fundo.CodigoFundo)) { lImpDB.SalvarRentabilidadeDiaria(fundo); gLogger.InfoFormat("Rentabilidade Dia -> [{0}] importado com sucesso", fundo.CodigoFundo); } }); lFundosMes.ForEach( fundo => { if (gListaCodigoAnbima.Count > 0 && gListaCodigoAnbima.Contains(fundo.CodigoFundo)) { lImpDB.SalvarRentabilidadeMes(fundo); gLogger.InfoFormat("Rentabiliadde Mês -> [{0}] importado com sucesso", fundo.CodigoFundo); } }); lCadFundos.ForEach( fundo => { lImpDB.SalvarCadastroFundos(fundo); gLogger.InfoFormat("Cadastro do fundo -> [{0}] importado com sucesso", fundo.CodigoFundo); }); //lFundosMovCota.ForEach( // fundo => // { // if (gListaCodigoAnbima.Count > 0 && gListaCodigoAnbima.Contains(fundo.CodigoFundo)) // // if (gListaCodigoAnbima.Count > 0) // { // if (ListaIdProdutoAnbima.ContainsKey(fundo.CodigoFundo)) // { // fundo.IdProduto = ListaIdProdutoAnbima[fundo.CodigoFundo]; // lImpDB.SalvarProdutoMovimento(fundo); // gLogger.InfoFormat("Fundos Mov Cota -> [{0}] importado com sucesso", fundo.CodigoFundo); // } // } // }); } } } catch (Exception ex) { gLogger.Error("Ocorreu um erro ao acessar o método ThreadImportacaoAnbima:" + ex.Message, ex); } //Thread.Sleep(250); }