コード例 #1
0
        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");
            }
        }
コード例 #2
0
        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);
                    }
                }
            }
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
        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);
            }
        }
コード例 #5
0
        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);
            }
        }