예제 #1
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            string caminho_pasta = AppDomain.CurrentDomain.BaseDirectory;

            if (!caminho_pasta.EndsWith("\\"))
            {
                caminho_pasta += "\\";
            }
            caminho_pasta += "..\\..\\data\\";

            try
            {
                Controlador.carregarDados(caminho_pasta);
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.StackTrace, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            } //catch
        }     //MainForm_Load()
예제 #2
0
        /*
         *
         * Métodos de pesquisa e controle dos elementos visuais
         *
         */

        /// <summary>
        /// Pesquisa (na árvore que está no disco) o que está na caixa de pesquisa.
        /// </summary>
        private void pesquisar()  //pesquisa o que está escrito na caixa de pesquisa
        {
            /* obtem o nome da cidade a ser pesquisada */
            string localidade  = textPesquisar.Text;
            string nome_cidade = localidade;

            if (localidade.Contains(" -"))
            {
                nome_cidade = localidade.Substring(0, localidade.IndexOf(" -")); //pega apenas o nome da cidade
            }

            bool encontrou_cidade = false;

            List <DadosOcorrencia> resultados = Controlador.pesquisaCidade(nome_cidade);

            //limpa o textbox que tem os dados da ocorrencia
            limparDadosOcorrencia();

            if (resultados.Count > 0) //retornou mais que 1 cidade
            {
                encontrou_cidade = true;
                resultados       = OrdenaDados.insertionSort_localidade(resultados, true);// INSERTION SORT ??

                //formata o nome para CIDADE - ESTADO
                string cidade_selecionada = resultados[0].ocorrencia.localidade + " - " +
                                            resultados[0].ocorrencia.uf;

                //busca no mapa
                gmapControl.SetPositionByKeywords(cidade_selecionada);

                textPesquisar.Text = cidade_selecionada;
            }
            else  // == 0
            {
                //filtro para mostrar todas
                localidade = "";

                //busca todas
                resultados = Controlador.pesquisaCidade(localidade);
                resultados = OrdenaDados.insertionSort_localidade(resultados, true); // INSERTION SORT ??
            }

            /* cria uma lista de cidades sem repetição, e adiciona as ocorrências de cada cidade na devida cidade */
            List <Cidade> lista_cidades = new List <Cidade>();

            foreach (DadosOcorrencia dados_ocorrencia in resultados)
            {
                bool existe_na_lista = false;
                for (int i = 0; i < lista_cidades.Count; i++)
                {
                    if (lista_cidades.ElementAt(i).localidade == dados_ocorrencia.ocorrencia.localidade)
                    {
                        if (lista_cidades.ElementAt(i).uf == dados_ocorrencia.ocorrencia.uf)
                        {
                            existe_na_lista = true;
                            lista_cidades.ElementAt(i).lista_ocorrencias.Add(dados_ocorrencia);
                            break;
                        } //if
                    }     //if
                }         //for
                if (!existe_na_lista)
                {
                    lista_cidades.Add(new Cidade(dados_ocorrencia.ocorrencia.localidade, dados_ocorrencia.ocorrencia.uf, dados_ocorrencia));
                } //if
            }     //foreach

            /* preenche combobox de cidades, e ordena (ordem crescente) a lista de ocorrencias de cada cidade */
            List <string> lista_cidades_combobox = new List <string>();

            foreach (Cidade cidade in lista_cidades)
            {
                lista_cidades_combobox.Add(cidade.localidade + " - " + cidade.uf);
                cidade.lista_ocorrencias = OrdenaDados.insertionSort_codigo_ocorrencia(cidade.lista_ocorrencias, true); // INSERTION SORT ??
            } //foreach

            //preenche os dados no textbox
            preencherDadosOcorrencia(lista_cidades[0].lista_ocorrencias[0]);

            comboSelecioneCidade.DataSource = lista_cidades_combobox;

            /* preenche combobox de ocorrencias da cidade na posição 0*/
            List <int> lista_codigo_ocorrencias = new List <int>();

            foreach (DadosOcorrencia dados_ocorrencia in lista_cidades[0].lista_ocorrencias)
            {
                lista_codigo_ocorrencias.Add(dados_ocorrencia.codigo_ocorrencia);
            }
            comboOcorrencias.DataSource = lista_codigo_ocorrencias;

            resultados_pesquisa = lista_cidades;

            if (encontrou_cidade)
            {
                labelCidadesEncontradas.Text = lista_cidades.Count + " cidade(s) encontrada(s).";
                labelSelecioneCidade.Text    = "Resultados da busca (\'" + nome_cidade + "\'):";
            }
            else
            {
                //atualiza labels
                labelCidadesEncontradas.Text = "\'" + nome_cidade + "\' não foi encontrada.";
                labelSelecioneCidade.Text    = "Lista de todas as cidades (" + resultados.Count + "):";
            }

            this.lista_dados_ocorrencia_resultados_pesquisa = resultados;

            //ativa o menu hamburger
            checkHamburger.Checked = true;
        } //pesquisar()