static void BuscarLogradourosBairros(CidadeDAO cidade) { Console.WriteLine("A busca pode demorar alguns minutos. Aguarde..."); Bairro b = null; var sw = new Stopwatch(); for (int id = 39; id < cidade.BairrosDAO.Count; id++) { sw.Start(); Task.Run(async() => { var city = new Cidade(cidade.Nome, cidade.UF); b = await Correios.GetLogradouroPorBairroAsync(city, cidade.BairrosDAO[id].Nome, new Status()); }).Wait(); foreach (var log in b.Logradouros) { LogradouroDAO.AdicionarLogradouro(log, cidade.Id, cidade.BairrosDAO[id].Id); Console.WriteLine($"{log.Nome} - {log.Cep} adicionado ao bd"); } sw.Stop(); Console.WriteLine($"A busca do {b.Nome} retornou {b.Logradouros.Count} logradouros e demorou {sw.Elapsed.TotalMinutes:0.0} min"); Console.WriteLine("Aguardando 5 seg para buscar novamente"); Task.Delay(1000 * 5 * 1).Wait(); } }
public static void AnalisarLogradourosEmPosts() { WriteLine("Nome da cidade: "); var cidade = ReadLine(); var logradouros = LogradouroDAO.BuscarTodosLogradouros(cidade); var posts = PostFacebookDAO.BuscarTodosPosts(); var list = new List <Token>(); var relacoes = new List <Relacao>(); var sw = new Stopwatch(); sw.Start(); foreach (var post in posts) { var formatado = Formatacao.FormatarTexto(post.message); foreach (var logradouro in logradouros) { var token = Analisador.GetToken(post.message, logradouro.Nome, TipoToken.Local); if (token != null) { list.Add(token); relacoes.Add(new Relacao { IdLogradouro = logradouro.Id, IdCidade = logradouro.IdCidade, IdPost = post.Id, IdPagina = post.IdPagina, }); } } } sw.Stop(); }
public static void Cadastrar(Logradouro objeto) { if (LocalizarPorCep(objeto.CEP) == null) { LogradouroDAO dao = new LogradouroDAO(); dao.Cadastrar(objeto); } }
/// <summary> /// Busca os comentarios, posts, logradouros e bairros no banco de dados e relaciona-os /// </summary> /// <param name="cidade">Cidade a ser procurada</param> /// <returns>Lista de entidades encontradados no comentario ou post</returns> public static List <EntidadeRelacionada> ReconhecerEntididadesRelacionadas(string cidade) { Bairros = BairroDAO.BuscarTodosBairros(cidade); Logradouros = LogradouroDAO.BuscarTodosLogradouros(cidade); PaginasFb = PaginaFacebookDAO.ObterPaginasCidade(cidade); PostsFb = new List <PostFacebookDAO>(); foreach (var pagina in PaginasFb) { PostsFb.AddRange(PostFacebookDAO.BuscarPostsPagina(pagina.Id)); } ComentariosFb = ComentarioFacebookDAO.BuscarTodosComentarios(); var entidades_rel = new List <EntidadeRelacionada>(); var sw = new Stopwatch(); sw.Start(); foreach (var comentario in ComentariosFb) { var comm_f = Formatacao.FormatarTexto(comentario.message); var tokens = Token.Tokenize(comentario.message); var entidades = ReconhecerEntidades(comm_f.Formatado); foreach (var ent in entidades) { var ent_rel = ReconhecerEntidadeRelacionada(ent, comm_f.Original); if (ent_rel != null) { entidades_rel.Add(ent_rel); } } } foreach (var post in PostsFb) { var tokens = Token.Tokenize(post.message); var comm_f = Formatacao.FormatarTexto(post.message); var entidades = ReconhecerEntidades(comm_f.Formatado); } sw.Stop(); return(null); }
public object Get(string nome) { var cidade = CidadeDAO.BuscarCidade(nome); var pags = PaginaFacebookDAO.ObterPaginasCidade(cidade.Nome); var comentarios = ComentarioFacebookDAO.BuscarTodosComentariosDaCidade(cidade); var posts = 0; var logradouros = LogradouroDAO.BuscarTodosLogradouros(nome); foreach (var item in pags) { posts += PostFacebookDAO.BuscarPostsPagina(item.Id).Count; } var c = new { cidade = FirstCharToUpper(cidade.Nome), bairros = cidade.BairrosDAO.Count, paginas = pags.Count, comentarios = comentarios.Count, posts = posts, logradouros = logradouros.Count }; return(c); }
public static Logradouro LocalizarPorCep(long cep) { LogradouroDAO dao = new LogradouroDAO(); Logradouro retorno = dao.PesquisarPorCep(cep); return retorno; }
static void MostrarBairros(CidadeDAO cidade, bool semLogradouro = false) { int ini = 0; int fim = 10; int q = 10; if (fim > cidade.BairrosDAO.Count) { fim = cidade.BairrosDAO.Count; } Console.WriteLine("Use as setas <- e -> para exibir ou ESC para sair."); Console.WriteLine("Para buscar individualmente aperte TAB e o id do bairro."); ConsoleKey key = ConsoleKey.A; while (key != ConsoleKey.Escape) { Console.WriteLine("ID\tID Banco\tBairro"); for (int i = ini; i < fim; i++) { Console.WriteLine($"{i}\t{cidade.BairrosDAO[i].Id}\t{cidade.BairrosDAO[i].Nome}"); } key = Console.ReadKey().Key; if (key == ConsoleKey.RightArrow) { if (fim + q > cidade.BairrosDAO.Count) { fim = cidade.BairrosDAO.Count; ini = fim - (fim - ini); } else { ini += q; fim += q; } } else if (key == ConsoleKey.LeftArrow) { if (ini - q < 0) { ini = 0; fim = q; if (fim > cidade.BairrosDAO.Count) { fim = cidade.BairrosDAO.Count; } } else { ini -= q; fim -= q; } } else if (key == ConsoleKey.Tab) { Console.Write("ID: "); var id = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("A busca pode demorar alguns minutos. Aguarde..."); Bairro b = null; var sw = new Stopwatch(); sw.Start(); var status = new Status(); Task.Run(async() => { var city = new Cidade(cidade.Nome, cidade.UF); b = await Correios.GetLogradouroPorBairroAsync(city, cidade.BairrosDAO[id].Nome, status); }).Wait(); sw.Stop(); foreach (var log in b.Logradouros) { LogradouroDAO.AdicionarLogradouro(log, cidade.Id, cidade.BairrosDAO[id].Id); } Console.WriteLine($"A busca retornou {b.Logradouros.Count} logradouros e demorou {sw.Elapsed.TotalMinutes:0.0} min"); } } }