示例#1
0
文件: Program.cs 项目: pedroccrl/Tcc
        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();
            }
        }
示例#2
0
        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();
        }
示例#3
0
 public static void Cadastrar(Logradouro objeto)
 {
     if (LocalizarPorCep(objeto.CEP) == null)
     {
         LogradouroDAO dao = new LogradouroDAO();
         dao.Cadastrar(objeto);
     }
 }
示例#4
0
        /// <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);
        }
示例#5
0
        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);
        }
示例#6
0
 public static Logradouro LocalizarPorCep(long cep)
 {
     LogradouroDAO dao = new LogradouroDAO();
     Logradouro retorno = dao.PesquisarPorCep(cep);
     return retorno;
 }
示例#7
0
文件: Program.cs 项目: pedroccrl/Tcc
        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");
                }
            }
        }