public void AnalisarPostagens() { using (var context = new Challenge_BDEntities()) { //Busca postagens processadas var TodasPostagens = context.PostagensProcessadas.AsNoTracking().Include("Postagens").AsNoTracking().ToList(); //Busca as Termos classificados var Termos = context.ClassificacaoTermo.ToList(); //Varrer todas as postagens processadas para adicionar ou retirar peso. foreach (var postagem in TodasPostagens) { //Procurar em cada postagem os termos a serem analisados foreach (var termo in Termos) { if (postagem.PostProcessado.Contains(" " + termo.Termo.ToLower() + " ")) { //Cria nova item de vinculo das tabelas var pesoPostagens = new PesoPostagens(); pesoPostagens.IdTermo = termo.Id; pesoPostagens.IdPost = postagem.IdPost; pesoPostagens.Peso = termo.Peso; pesoPostagens.Instituicao = postagem.Postagens.Instituicao; //Adiciona Tabela de Peso e Postagem context.PesoPostagens.Add(pesoPostagens); } } } //Salva no banco de dados context.SaveChanges(); } }
public void ProcessarPostagens() { using (var context = new Challenge_BDEntities()) { //Busca postagens não processadas var TodasPostagens = context.Postagens.Where(p => p.PostagemProcessada == false).ToList(); //Varrer todas as postagens para retirar palavras foreach (var postagem in TodasPostagens) { if (postagem.PostagensProcessadas == null) { var PostProc = new PostagensProcessadas(); string novoPost = postagem.Post.Replace(" a ", " "); novoPost = novoPost.Replace(" o ", " "); novoPost = novoPost.Replace(" com ", " "); novoPost = novoPost.Replace(" como ", " "); novoPost = novoPost.Replace(" na ", " "); novoPost = novoPost.Replace(" nas ", " "); novoPost = novoPost.Replace(" no ", " "); novoPost = novoPost.Replace(" nos ", " "); novoPost = novoPost.Replace(" de ", " "); novoPost = novoPost.Replace(" da ", " "); novoPost = novoPost.Replace(" das ", " "); novoPost = novoPost.Replace(" do ", " "); novoPost = novoPost.Replace(" dos ", " "); novoPost = novoPost.Replace(" fui ", " "); novoPost = novoPost.Replace(" la ", " "); //Retirar citações de usuarios na postagem while (novoPost.Contains("@")) { string a = novoPost.Substring(novoPost.IndexOf("@")); string usu = ""; if (a.IndexOf(" ") == -1) { usu = a.Substring(a.IndexOf("@")); } else { usu = a.Substring(a.IndexOf("@"), a.IndexOf(" ")); } novoPost = novoPost.Replace(usu, " "); } //Adiciona Novo registro PostProc.PostProcessado = novoPost; PostProc.IdPost = postagem.IdPost; context.PostagensProcessadas.Add(PostProc); context.SaveChanges(); ////Atualiza postagem anterior como já processada //var postAntigo = context.Postagens.Where(p => p.IdPost == postagem.IdPost).FirstOrDefault(); //postAntigo.PostagemProcessada = true; //context.SaveChanges(); } } } }