/// <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(); } } }
/// <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); } }