private static List <Publicacao> MontarPublicacoes(DataTable dtResultado) { var publicacoes = new List <Publicacao>(); Publicacao publicacao; foreach (DataRow dr in dtResultado.Rows) { publicacao = new Publicacao { CodigoPublicacao = Convert.ToInt32(dr["CodigoPublicacao"].ToString()), Title = dr["Title"].ToString(), Year = Convert.ToInt32(dr["Year"].ToString()), SourceTitle = dr["SourceTitle"].ToString(), CitedBy = dr["CitedBy"].ToString(), DOI = dr["DOI"].ToString(), Link = dr["Link"].ToString(), EID = dr["EID"].ToString(), Abstract = dr["Abstract"].ToString(), AuthorKeywords = dr["AuthorKeywords"].ToString() }; publicacoes.Add(publicacao); } return(publicacoes); }
private static void CarregarDados() { Console.WriteLine($"[{DateTime.Now}] Carregando stopwords..."); List <string> stopWords = CarregarStopWords(); Console.WriteLine($"[{DateTime.Now}] Carregando publicações..."); List <PublicacaoDTO> publicacoesDto = CarregarPublicacoes(); Console.WriteLine($"[{DateTime.Now}] Salvando Publicações..."); foreach (PublicacaoDTO publicacao in publicacoesDto) { publicacao.Salvar(); } Console.WriteLine($"[{DateTime.Now}] Extraindo Autores..."); ExtrairAutores(publicacoesDto); publicacoesDto.Clear(); List <Publicacao> publicacoes = Publicacao.Listar(); Console.WriteLine("Extraindo termos..."); ExtrairTermos(publicacoes, stopWords); }
public List <PublicacaoPesquisa> Aplicar() { var pubsPesquisa = new List <PublicacaoPesquisa>(); Dictionary <int, int> codigosOcorrencias = PublicacaoTermo.RetornarPublicacoesOcorrencias(_termos); List <Publicacao> publicacoes = Publicacao.ListarPorCodigos(codigosOcorrencias.Keys.ToList()); foreach (KeyValuePair <int, int> valores in codigosOcorrencias) { var publicacaoPesquisa = new PublicacaoPesquisa(valores.Key); int qtPubAutores = PublicacaoAutor.SomatorioPublicacoesSemelhantes(valores.Key, codigosOcorrencias.Keys.ToList()); publicacaoPesquisa.CalcularRelevancia( int.Parse(publicacoes.Find(p => p.CodigoPublicacao == valores.Key).CitedBy), valores.Value, qtPubAutores); pubsPesquisa.Add(publicacaoPesquisa); } return(OrdernarResultados(pubsPesquisa)); }