protected void Page_Load(object sender, EventArgs e) { if (Request.QueryString["id"] != null) { ControladorClientes cli = new ControladorClientes(); string id; id = Request.QueryString["id"]; string nom = Convert.ToString(cli.IdNombre(Convert.ToInt32(id))); string ape = Convert.ToString(cli.IdApellido(Convert.ToInt32(id))); string ava = Convert.ToString(cli.IdAvatar(Convert.ToInt32(id))); nombre = nom + ape; avatar = ava; } if (Session["Cliente"] != null) { Sp_LoginResult usu = (Sp_LoginResult)Session["Cliente"]; usuario = usu.user_usu; rol = usu.des_rol; } else { Response.Redirect("~/InicioSesion/Login.aspx"); } }
private void Mapa_MouseRightButtonDown(object sender, MouseButtonEventArgs e) { if (this.clienteAMover != null) { var mapa = (GMapControl)sender; Point p = e.GetPosition(mapa); var nuevaposicion = mapa.FromLocalToLatLng((int)p.X, (int)p.Y); //GMapMarker m = new GMapMarker(newRoutePoints.Last()); //var nuevaposicion = mapa.Position; var cli = (Cliente)clienteAMover.Tag; if (e.ButtonState == MouseButtonState.Pressed) { try { var dir = GoogleMapsGeocoder.ObtenerDireccionPorCoordenadas(nuevaposicion); var res = MessageBox.Show("¿Seleccionar esta posición como nueva ubicación para el cliente " + cli.Codigo + " - " + cli.Nombre + "?\n\nUbicación aproximada: " + dir, "Cambiando ubicación del cliente", MessageBoxButton.OKCancel); if (res == MessageBoxResult.OK) { ControladorClientes.ActualizarLatLngCliente(cli.Codigo, nuevaposicion, null, 0); this.clienteAMover = null; this.SeleccionarZona(this.ZonaSeleccionada); } } catch (Exception ex) { MessageBox.Show("No se pudo obtener una dirección." + ex.Message); } } } }
private void btnConsultar_Click(object sender, RoutedEventArgs e) { try { if (this.query != string.Empty) { this.listaClientes = new ObservableCollection <Cliente>(ControladorClientes.ProcesarConsulta(this.query)); var listaMarcadores = new List <GMapMarker>(); foreach (var cli in this.listaClientes) { var marcador = new GMapMarker(cli.Coordenada.Value); var pin = ControladorMapa.CrearPinCliente(null, cli); marcador.Shape = pin; marcador.Shape.IsHitTestVisible = true; marcador.Offset = new Point(-pin.Width / 2, -pin.Height); marcador.ZIndex = 3; listaMarcadores.Add(marcador); } this.mapa.ItemsSource = listaMarcadores; ControladorMapa.RefrescarVista(this.mapa); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void btnIniciar_Click(object sender, RoutedEventArgs e) { var listaClientesAGeocodificar = ControladorClientes.ObtenerDatosClientes(ListaCodigosClientes.Select(c => c.Codigo).ToList()); var zonaPermitida = new List <PointLatLng>() { new PointLatLng(-34.96310051817297, -62.93113791346571), new PointLatLng(-39.21053969290316, -62.86854934781773), new PointLatLng(-39.20053350467479, -60.82838446585139), new PointLatLng(-38.56329249427377, -57.80857023916692), new PointLatLng(-37.03687315700143, -56.44361058840956), new PointLatLng(-35.77347775463433, -56.59223411350986), new PointLatLng(-34.97521287216069, -57.12762013249957), new PointLatLng(-34.96310051817297, -62.93113791346571) }; var msje = "Total de clientes obtenidos: " + listaClientesAGeocodificar.Count + "\n"; MessageBox.Show(msje); var sb = new StringBuilder(msje); try { foreach (var cli in listaClientesAGeocodificar) { var dirpluslocalidad = cli.Calle + " " + cli.Numero + ", " + cli.Localidad; sb.AppendLine("CLIENTE: " + cli.Codigo); sb.AppendLine("Intentando traducir: " + dirpluslocalidad); //cli.Coordenada = GoogleMapsGeocoder.ObtenerCordenadasPorDireccion(dirpluslocalidad, out status); cli.Coordenada = ControladorMapa.ObtenerCordenadasPorDireccion(dirpluslocalidad); if (cli.Coordenada.HasValue) { sb.AppendLine("COORDENADA OBTENIDA - " + cli.Coordenada.ToString()); if (ControladorMapa.DentroDeZona(zonaPermitida, cli.Coordenada.Value.Lat, cli.Coordenada.Value.Lng)) { var ok = ControladorClientes.ActualizarLatLngCliente(cli.Codigo, cli.Coordenada.Value, cli.Calle, int.Parse(cli.Numero)); sb.AppendLine("Actualizando la dirección traducida: " + ok.ToString()); if (ok) { clientesActualizados.Add(cli.Codigo + " OK!\n"); } else { clientesActualizados.Add(cli.Codigo + " NOPE!! Error\n"); } } else { sb.AppendLine("Coordenada fuera de límite"); //throw new GeocoderException(new Exception("\nSe detuvo el proceso de geolocación a la altura del cliente " + cli.Codigo), cli.Codigo); } sb.AppendLine(); } else { //throw new GeocoderException(new Exception("\nSe detuvo el proceso de geolocación a la altura del cliente " + cli.Codigo), cli.Codigo); } } System.IO.File.WriteAllText(@"d:\FIN " + DateTime.Now.ToString("yyyy'-'MM'-'dd'- 'HH mm") + ".txt", sb.ToString()); } //catch (GeocoderException geoEx) //{ // //var msje3 = "Se detuvo el proceso de geolocación a la altura del cliente " + geoEx.codigoCliente; // sb.AppendLine(geoEx.Message); // this.txtCodigo.Text = geoEx.codigoCliente; // MessageBox.Show(geoEx.Message); // System.IO.File.WriteAllText(@"d:\Excepcion " + DateTime.Now.ToString("yyyy'-'MM'-'dd'- 'HH mm") + ".txt", sb.ToString()); //} catch (Exception ex) { System.IO.File.WriteAllText(@"d:\Excepcion " + DateTime.Now.ToString("yyyy'-'MM'-'dd'- 'HH mm") + ".txt", sb.ToString()); MessageBox.Show(ex.Message); } }
private void btnIniciar_Click(object sender, RoutedEventArgs e) { var codigoInicial = this.txtCodigo.Text; var listaClientesAGeocodificar = ControladorClientes.ObtenerClientes(codigoInicial); var msje = "Total de clientes obtenidos: " + listaClientesAGeocodificar.Count + "\n"; MessageBox.Show(msje); var sb = new StringBuilder(msje); try { foreach (var cli in listaClientesAGeocodificar) { GeoCoderStatusCode status; var dirpluslocalidad = cli.Calle + " " + cli.Numero + ", " + cli.Localidad; sb.AppendLine("CLIENTE: " + cli.Codigo + "\n"); sb.AppendLine("Intentando traducir: " + dirpluslocalidad + "\n"); //cli.Coordenada = GoogleMapsGeocoder.ObtenerCordenadasPorDireccion(dirpluslocalidad, out status); cli.Coordenada = ControladorMapa.ObtenerCordenadasPorDireccion(dirpluslocalidad); if (cli.Coordenada.HasValue) { sb.AppendLine("COORDENADA OBTENIDA - " + cli.Coordenada.ToString() + "\n"); if (cli.Coordenada.Value.Lat < 0 && cli.Coordenada.Value.Lng < 0) { var ok = ControladorClientes.ActualizarLatLngCliente(cli.Codigo, cli.Coordenada.Value, cli.Calle, int.Parse(cli.Numero)); sb.AppendLine("Actualizando la dirección traducida: " + ok.ToString() + "\n"); if (ok) { clientesactualizados.Add(cli.Codigo + " OK!\n\n"); } else { clientesactualizados.Add(cli.Codigo + " NOPE!! Error\n\n"); } } else { //throw new GeocoderException(new Exception("\nSe detuvo el proceso de geolocación a la altura del cliente " + cli.Codigo), cli.Codigo); } } else { //throw new GeocoderException(new Exception("\nSe detuvo el proceso de geolocación a la altura del cliente " + cli.Codigo), cli.Codigo); } } System.IO.File.WriteAllText(@"d:\FIN " + DateTime.Now.ToString("yyyy'-'MM'-'dd'- 'HH mm") + ".txt", sb.ToString()); } catch (GeocoderException geoEx) { //var msje3 = "Se detuvo el proceso de geolocación a la altura del cliente " + geoEx.codigoCliente; sb.AppendLine(geoEx.Message); this.txtCodigo.Text = geoEx.codigoCliente; MessageBox.Show(geoEx.Message); System.IO.File.WriteAllText(@"d:\Excepcion " + DateTime.Now.ToString("yyyy'-'MM'-'dd'- 'HH mm") + ".txt", sb.ToString()); } catch (Exception ex) { System.IO.File.WriteAllText(@"d:\Excepcion " + DateTime.Now.ToString("yyyy'-'MM'-'dd'- 'HH mm") + ".txt", sb.ToString()); MessageBox.Show(ex.Message); } }