Пример #1
0
        /// <summary>
        /// Evento do botão zonear
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_zonearAluno_Click(object sender, EventArgs e)
        {
            var t = CarregaProgressoThread();

            try
            {
                LimpaGridView();

                coordenadas = Zoneador.Georreferenciar(msk_cep.Text, txt_mumresidencia.Text); //Georreferencia o aluno pelo SISGEO
                lbl_aviso_coordenadas.Visible   = true;
                lbl_aviso_coordenadas.Text      = $@"Coordenadas localizadas pelo SISGEO!";
                lbl_aviso_coordenadas.ForeColor = Color.Navy;

                if (coordenadas[0] == null || coordenadas[0].Equals("0"))
                {
                    //Georreferencia o aluno pelo GOOGLE
                    coordenadas = Zoneador.Locate($"{txt_mumresidencia.Text}+{txt_logradouro.Text.Replace(" ","+")},+{cbo_bairro.Text.Replace(" ","+")},+betim,+brasil");
                    lbl_aviso_coordenadas.Text      = @"Coordenadas localizadas pelo GOOGLE!";
                    lbl_aviso_coordenadas.ForeColor = Color.Firebrick;
                }

                lbl_latitude.Text  = coordenadas[0];
                lbl_longitude.Text = coordenadas[1];

                zoneamentoControl = new ZoneamentoControl();

                if (rdb_ens_fundamental.Checked)
                {
                    dgv_zoneamento.DataSource = zoneamentoControl.RetornaEscolasEndereco(coordenadas[0], coordenadas[1], mantenedor: 1, raio: Convert.ToInt32(nud_raioBusca.Value));
                }
                else
                {
                    dgv_zoneamento.DataSource = zoneamentoControl.RetornaCrechesEndereco(coordenadas[0], coordenadas[1], Convert.ToInt32(nud_raioBusca.Value));
                }

                for (int i = 0; i < dgv_zoneamento.Rows.Count; i++)
                {
                    dgv_zoneamento["DistanciaCaminhando", i].Value = Metrics.CalculaDistanciaCaminhando(coordenadas[0], coordenadas[1], dgv_zoneamento["latitude", i].Value.ToString(), dgv_zoneamento["longitude", i].Value.ToString());
                }

                dgv_zoneamento.Sort(dgv_zoneamento.Columns[4], ListSortDirection.Ascending);
            }
            catch (Exception exception)
            {
                if (t.IsAlive)
                {
                    t.Abort();
                }
                Mensageiro.MensagemErro(exception, this);
            }
            finally
            {
                if (t.IsAlive)
                {
                    t.Abort();
                }
            }
        }
Пример #2
0
        /// <summary>
        /// Localiza as coordenadas de acordo com o endereço
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_localizarcoordenadas_Click(object sender, EventArgs e)
        {
            //if(string.IsNullOrEmpty(txt_codigo.Text))
            //		throw new Exception("Selecione um aluno antes de buscar suas coodenadas");

            var t = CarregaProgressoThread();

            try
            {
                #region localizar coord aluno

                string[] coord;

                coord = Zoneador.Georreferenciar(dgv_alunos[10, dgv_alunos.CurrentCellAddress.Y].Value.ToString(),
                                                 dgv_alunos[7, dgv_alunos.CurrentCellAddress.Y].Value.ToString());

                if (coord.Equals(null) || coord[0].Equals("0"))
                {
                    var endereco = Zoneador.TransformacaoEndereco(dgv_alunos[5, dgv_alunos.CurrentCellAddress.Y].Value.ToString(),
                                                                  dgv_alunos[6, dgv_alunos.CurrentCellAddress.Y].Value.ToString(),
                                                                  dgv_alunos[7, dgv_alunos.CurrentCellAddress.Y].Value.ToString(),
                                                                  dgv_alunos[9, dgv_alunos.CurrentCellAddress.Y].Value.ToString(), "Betim", "Brasil");

                    coord = Zoneador.Locate(endereco);
                }

                if (!string.IsNullOrEmpty(coord[0]) || !coord[0].Equals("0"))
                {
                    //controleAluno.atualizaCoordenadas(Convert.ToInt32(txt_codigo.Text), coord[0], coord[1]);
                }

                #endregion

                if (t.IsAlive)
                {
                    t.Abort();
                }
            }
            catch (Exception exception)
            {
                if (t.IsAlive)
                {
                    t.Abort();
                }
                Mensageiro.MensagemErro(exception, this);
            }
        }