public VisualizadorActividadesClientes() { InitializeComponent(); this.DataContext = this; List <Actividad> actividades = new List <Actividad>(); this.clientesActividadSeleccionMultiple = new List <Cliente>(); try { actividades = ControladorActividades.ObtenerActividades(); } catch (Exception ex) { MessageBox.Show(ex.Message + "\n\nEsta ventana se cerrará."); this.Close(); } this.Actividades = new ObservableCollection <Actividad>(actividades); var mdp = ControladorMapa.ObtenerCordenadasPorDireccion("Mar del Plata, Buenos Aires"); if (mdp.HasValue) { this.mapa.Position = mdp.Value; } else { this.mapa.Position = new PointLatLng(-38.0042615, -57.6070055); } this.listaDeActividades.SelectionChanged += ListaDeActividades_SelectionChanged; }
private object VerCaminoDelVendedor(object vendedorMapa) { if (vendedorMapa == null) { return(false); } try { var v = vendedorMapa as Vendedor; v.VerTodasLasPosiciones = true; this.mapa.Markers.Add(ControladorMapa.CrearRuta(v.Posiciones.Where(p => p.Latitud != 0 && p.Longitud != 0).Select(x => new PointLatLng(x.Latitud, x.Longitud)).ToList(), Brushes.Red)); foreach (var pos in v.Posiciones) { if (pos.Latitud != 0 && pos.Longitud != 0) { this.mapa.Markers.Add(ControladorMapa.CrearPuntoPosicion(pos)); } } ControladorMapa.RefrescarVista(this.mapa); } catch (Exception ex) { MessageBox.Show(ex.Message); } return(true); }
private void ListaDeActividades_SelectionChanged(object sender, SelectionChangedEventArgs e) { try { this.mapa.Markers.Clear(); this.clientesActividadSeleccionMultiple.Clear(); if (this.listaDeActividades.SelectedItem != null) { foreach (var act in listaDeActividades.SelectedItems) { var actividad = act as Actividad; this.SeleccionarActividad(actividad, false); this.clientesActividadSeleccionMultiple.AddRange(actividad.Clientes); } if (ModoSeleccion == SelectionMode.Multiple) { this.clientesUC.Clientes = new ObservableCollection <Cliente>(clientesActividadSeleccionMultiple); this.clientesUC.cantidadClientes = this.clientesUC.Clientes.Count; this.clientesUC.dgClientes.Items.Filter = null; } } ControladorMapa.RefrescarVista(this.mapa); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public MapaPosicionesActuales() { InitializeComponent(); this.DataContext = this; this.servicioMobile = new ServiceSoapClient(); this.Vendedores = new ObservableCollection <Vendedor>(); this.FechaDesde = DateTime.Today.AddHours(8); this.FechaHasta = DateTime.Today.AddDays(1); var mdp = ControladorMapa.ObtenerCordenadasPorDireccion("Mar del Plata, Buenos Aires"); if (mdp.HasValue) { this.mapa.Position = mdp.Value; } else { this.mapa.Position = new PointLatLng(-38.0042615, -57.6070055); } this.actualizadorDePosiciones = new Timer(45000); this.actualizadorDePosiciones.Elapsed += actualizadorDePosiciones_Elapsed; this.actualizadorDePosiciones.Start(); this.listaDeElementos.SelectionChanged += listaDeElementos_SelectionChanged; this.CmdVerClientesPorRuta = new RelayCommand(e => this.VerClientesDelVendedor(e)); this.CmdDibujarZona = new RelayCommand(e => this.VerZonasDelVendedor(e)); this.CmdVerCaminoPreventista = new RelayCommand(e => this.VerCaminoDelVendedor(e)); //this.CmdVerificarPreventistaDentroDeZona = new RelayCommand(e => this.VerificarPreventistaDentroDeZona(e)); this.CmdVerDomicilioVendedor = new RelayCommand(e => this.VerDomicilioVendedor(e)); }
private void MostrarMarcador(Fletero fletero, bool clear = false) { if (clear) { mapa.Markers.Clear(); } var marcador = new GMapMarker(fletero.CoordenadaActual); Pin pin = new PinAzul(); pin.Tag = fletero; pin.Etiqueta = fletero.Codigo; var menuItem = new MenuItem(); menuItem.Header = fletero.Nombre; pin.Menu.Items.Add(menuItem); pin.Menu.UpdateLayout(); //pin.MouseDoubleClick += pin_MouseDoubleClick; marcador.Shape = pin; marcador.Offset = new Point(-pin.Width / 2, -pin.Height); marcador.ZIndex = 4; this.mapa.Markers.Add(marcador); this.VerDomicilioVendedor(fletero); ControladorMapa.RefrescarVista(this.mapa); }
private void VerClientes(List <Cliente> clientes) { foreach (var cli in clientes) { var marcador = new GMapMarker(cli.Coordenada.Value); var pin = ControladorMapa.CrearPinCliente(null, cli); marcador.Tag = cli; marcador.Shape = pin; marcador.Shape.IsHitTestVisible = true; marcador.Offset = new Point(-pin.Width / 2, -pin.Height); if (this.ModoSeleccion == SelectionMode.Single) { var menuMover = new MenuItem(); menuMover.Header = "Ubicar manualmente en el mapa"; menuMover.Command = this.CmdMoverUbicacionDeClienteManualmente; menuMover.CommandParameter = marcador; pin.Menu.Items.Add(menuMover); } pin.Menu.UpdateLayout(); marcador.ZIndex = 3; this.mapa.Markers.Add(marcador); } ControladorMapa.RefrescarVista(this.mapa); }
private void VerClientesDelVendedor(Vendedor vendedor) { if (vendedor.Posiciones.Count == 0) { ControladorVendedores.CargarPosiciones(vendedor, diaSeleccionado.Value, diaSeleccionado.Value.AddDays(1)); } foreach (var zona in vendedor.Zonas) { foreach (var cli in zona.Clientes) { var marcador = new GMapMarker(cli.Coordenada.Value); var pin = ControladorMapa.CrearPinCliente(vendedor.Posiciones, cli); pin.Menu.UpdateLayout(); marcador.Shape = pin; marcador.Shape.IsHitTestVisible = true; marcador.Offset = new Point(-pin.Width / 2, -pin.Height); marcador.ZIndex = 3; this.mapa.Markers.Add(marcador); } } }
protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e) { if (e.Property == ModoVerClientesConRuteoProperty) { if (this.ModoSeleccion == SelectionMode.Single) { if (listaDeZonas.SelectedItem != null) { this.ZonaSeleccionada = (Zona)listaDeZonas.SelectedItem; this.SeleccionarZona(this.ZonaSeleccionada); } else { this.mapa.Markers.Clear(); foreach (var zona in listaDeZonas.SelectedItems) { var zonaMapa = zona as Zona; this.SeleccionarZona(zonaMapa, false); //ya hice el clear antes. } } } ControladorMapa.RefrescarVista(this.mapa); } base.OnPropertyChanged(e); }
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 object VerCaminoDelVendedor(object fleteroMapa) { if (fleteroMapa == null) { return(false); } try { var f = fleteroMapa as Fletero; f.VerTodasLasPosiciones = true; if (f.Posiciones.Count == 0) { ControladorFleteros.CargarPosiciones(f, FechaDesde, FechaHasta); } this.mapa.Markers.Add(ControladorMapa.CrearRuta(f.Posiciones.Where(p => p.Latitud != 0 && p.Longitud != 0).Select(x => new PointLatLng(x.Latitud, x.Longitud)).ToList(), Brushes.Red)); foreach (var pos in f.Posiciones) { if (pos.Latitud != 0 && pos.Longitud != 0) { this.mapa.Markers.Add(ControladorMapa.CrearPuntoPosicion(pos)); } } ControladorMapa.RefrescarVista(this.mapa); } catch (Exception ex) { MessageBox.Show(ex.Message); } return(true); }
protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e) { if (e.Property == ModoVerClientesConRuteoProperty) { if (this.ModoSeleccion == SelectionMode.Single) { if (listaDeActividades.SelectedItem != null) { this.ActividadSeleccionada = (Actividad)listaDeActividades.SelectedItem; this.SeleccionarActividad(this.ActividadSeleccionada); } } else { this.mapa.Markers.Clear(); this.clientesActividadSeleccionMultiple.Clear(); foreach (var act in listaDeActividades.SelectedItems) { var actividad = act as Actividad; this.SeleccionarActividad(actividad, false); //ya hice el clear antes. this.clientesActividadSeleccionMultiple.AddRange(actividad.Clientes); } this.clientesUC.Clientes = new ObservableCollection <Cliente>(clientesActividadSeleccionMultiple); this.clientesUC.cantidadClientes = this.clientesUC.Clientes.Count; this.clientesUC.dgClientes.Items.Filter = null; } ControladorMapa.RefrescarVista(this.mapa); } base.OnPropertyChanged(e); }
private object VerZonasDelVendedor(object vendedorMapa) { //Random r = new Random(); var v = (Vendedor)vendedorMapa; try { if (v.Zonas.Count == 0) //cargo las listas de zonas si no están cargadas { ControladorZonas.CargarZonasDelVendedor(v, DateTime.Today); } foreach (var zonamapa in v.Zonas) //dibujo { //var alpha = r.Next(0, byte.MaxValue + 1); //var red = r.Next(0, byte.MaxValue + 1); //var green = r.Next(0, byte.MaxValue + 1); //var blue = r.Next(0, byte.MaxValue + 1); //var brush = new SolidColorBrush(Color.FromArgb((byte)alpha, (byte)red, (byte)green, (byte)blue)); if (zonamapa.Vertices.Count == 0) //cargo los vertices si es que no los cargué aun. { zonamapa.Vertices = ControladorZonas.ObtenerVerticesZona(zonamapa.Codigo, zonamapa.CodigoEmpresa, zonamapa.CodigoDivision); } this.mapa.Markers.Add(ControladorMapa.CrearPoligonoZona(zonamapa.Vertices, zonamapa.CodigoEmpresa == "01" ? Brushes.LightBlue : Brushes.Orange, zonamapa.Codigo)); } } catch (Exception ex) { MessageBox.Show(ex.Message); } v.VerZona = true; ControladorMapa.RefrescarVista(this.mapa); return(true); }
private void CargaClientesWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { if (e.Result != null) { var flet = (Fletero)e.Result; ControladorMapa.ImprimirClientesFletero(this.mapa, flet.Posiciones, flet.Clientes); } }
private void MostrarMarcador(Fletero fleteroMapa, bool clear = false) { if (clear) { mapa.Markers.Clear(); } var marcador = new GMapMarker(fleteroMapa.CoordenadaActual); Pin pin = new PinAzul(); pin.Tag = fleteroMapa; pin.Etiqueta = fleteroMapa.Codigo; var menuItem = new MenuItem(); menuItem.Header = "Ver Clientes de la Ruta"; menuItem.Command = this.CmdVerClientesPorRuta; menuItem.CommandParameter = fleteroMapa; pin.Menu.Items.Add(menuItem); var menuMostrarCamino = new MenuItem(); menuMostrarCamino.Header = "Mostrar todos los reportes"; menuMostrarCamino.Command = this.CmdVerCaminoPreventista; menuMostrarCamino.CommandParameter = fleteroMapa; pin.Menu.Items.Add(menuMostrarCamino); var menuMostrarDomicilio = new MenuItem(); menuMostrarDomicilio.Header = "Mostrar domicilio del fletero"; menuMostrarDomicilio.Command = this.CmdVerDomicilioFletero; menuMostrarDomicilio.CommandParameter = fleteroMapa; pin.Menu.Items.Add(menuMostrarDomicilio); pin.Menu.UpdateLayout(); //pin.MouseDoubleClick += pin_MouseDoubleClick; marcador.Shape = pin; marcador.Offset = new Point(-pin.Width / 2, -pin.Height); marcador.ZIndex = 4; this.mapa.Markers.Add(marcador); if (fleteroMapa.VerClientes) { this.VerClientesDelVendedor(fleteroMapa); } if (fleteroMapa.VerTodasLasPosiciones) { this.VerCaminoDelVendedor(fleteroMapa); } if (fleteroMapa.VerDomicilioDelFletero) { this.VerDomicilioFletero(fleteroMapa); } ControladorMapa.RefrescarVista(this.mapa); }
private void VerCaminoDelVendedor(Vendedor v) { this.mapa.Markers.Add(ControladorMapa.CrearRuta(v.Posiciones.Where(p => p.Latitud != 0 && p.Longitud != 0).Select(x => new PointLatLng(x.Latitud, x.Longitud)).ToList(), Brushes.Red)); foreach (var pos in v.Posiciones) { if (pos.Latitud != 0 && pos.Longitud != 0) { this.mapa.Markers.Add(ControladorMapa.CrearPuntoPosicion(pos)); } } }
private void VerZonasDelVendedor(Vendedor vendedorMapa) { foreach (var zona in vendedorMapa.Zonas) //dibujo { if (zona.Vertices.Count == 0) //cargo los vertices si es que no los cargué aun. { zona.Vertices = ControladorZonas.ObtenerVerticesZona(zona.Codigo, zona.CodigoEmpresa, zona.CodigoDivision); } this.mapa.Markers.Add(ControladorMapa.CrearPoligonoZona(zona.Vertices, zona.CodigoEmpresa == "01" ? Brushes.LightBlue : Brushes.Orange, zona.Codigo)); } }
private void DibujarZona(Zona zonaMapa) { var tag = zonaMapa.Codigo + "-" + zonaMapa.CodigoDivision + "-" + zonaMapa.CodigoEmpresa; var color = (Brush)colorEmpresaConverter.Convert(zonaMapa.CodigoEmpresa, null, null, null); if (zonaMapa.Vertices.Count == 0) { zonaMapa.Vertices = ControladorZonas.ObtenerVerticesZona(zonaMapa.Codigo, zonaMapa.CodigoEmpresa, zonaMapa.CodigoDivision); } if (!this.mapa.Markers.Any(z => z.ZIndex == 0 && z.Tag.ToString() == tag)) { this.mapa.Markers.Add(ControladorMapa.CrearPoligonoZona(zonaMapa.Vertices, color, tag)); } }
private void MostrarMarcador(Vendedor vendedorMapa, bool clear = false) { if (clear) { mapa.Markers.Clear(); } var marcador = new GMapMarker(vendedorMapa.CoordenadaActual); Pin pin; if (vendedorMapa.CodigoEmpresa == "10") { pin = new PinNaranja(); } else { pin = new PinAzul(); } pin.Tag = vendedorMapa; pin.Etiqueta = vendedorMapa.Codigo; var menuItem = new MenuItem(); menuItem.Header = vendedorMapa.Nombre; pin.Menu.Items.Add(menuItem); pin.Menu.UpdateLayout(); //pin.MouseDoubleClick += pin_MouseDoubleClick; marcador.Shape = pin; marcador.Offset = new Point(-pin.Width / 2, -pin.Height); marcador.ZIndex = 4; this.mapa.Markers.Add(marcador); try { this.VerZonasDelVendedor(vendedorMapa); this.VerClientesDelVendedor(vendedorMapa); this.VerCaminoDelVendedor(vendedorMapa); this.VerDomicilioVendedor(vendedorMapa); } catch (Exception ex) { MessageBox.Show(ex.Message); } ControladorMapa.RefrescarVista(this.mapa); }
private object VerDomicilioVendedor(object vendedorMapa) { if (vendedorMapa == null) { return(false); } try { var v = vendedorMapa as Vendedor; v.VerDomicilioDelVendedor = true; if (v.Calle != string.Empty) { var dirCasa = v.Calle + " " + v.Numero + ", Mar del Plata"; var coordenadaCasa = ControladorMapa.ObtenerCordenadasPorDireccion(dirCasa); if (coordenadaCasa.HasValue) { v.CoordenadaDomicilio = coordenadaCasa.Value; ControladorVendedores.ActualizarCoordenadaDomicilio(v); } } if (v.CoordenadaDomicilio.Lat != 0) { var marcador = new GMapMarker(v.CoordenadaDomicilio); var pin = new PinCasa(); pin.Tag = v; pin.Etiqueta = string.Empty; marcador.Shape = pin; marcador.Shape.IsHitTestVisible = true; marcador.Offset = new Point(-pin.Width / 2, -pin.Height); pin.ToolTip = "Casa de " + v.Nombre; var menuItem = new MenuItem(); menuItem.Header = v.Calle + " " + v.Numero; pin.Menu.Items.Add(menuItem); pin.Menu.UpdateLayout(); marcador.ZIndex = 3; this.mapa.Markers.Add(marcador); } ControladorMapa.RefrescarVista(this.mapa); } catch (Exception ex) { MessageBox.Show(ex.Message); } return(true); }
private void cargaPosicionesFleteroWorker_Complete(object sender, RunWorkerCompletedEventArgs e) { if (e.Result != null) { var fletero = (Fletero)e.Result; var cargaClientesWorker = new CargarClientesFleteroWorker(this.mapa, fletero, diaSeleccionado.Value); cargaClientesWorker.RunWorkerCompleted += CargaClientesWorker_RunWorkerCompleted; cargaClientesWorker.RunWorkerAsync(); ControladorMapa.ImprimirCamino(this.mapa, fletero.Posiciones); var reporte = ReportMaker.CrearReporte(fletero); this.posicionesUC.FechaDelReporte = this.dtpFecha.SelectedDate.Value.ToString("dddd, dd MMMM yyyy"); this.posicionesUC.Posiciones = new ObservableCollection <ItemReporte>(reporte); this.posicionesUC.NombreVendedor = fletero.Nombre; this.posicionesUC.CodigoVendedor = fletero.Codigo; this.VisibilidadColumnaClientes = GridLength.Auto; } }
private void dgPosiciones_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (sender != null) { var dg = (DataGrid)sender; var posicion = (ItemReporte)dg.SelectedItem; if (posicion != null) { var vendedor = this.Vendedores.FirstOrDefault(x => x.Codigo == posicion.CodigoVendedor); var posiciones = vendedor.Posiciones.Where(x => x.Fecha >= posicion.CheckIn && x.Fecha <= posicion.CheckOut).Select(p => new PointLatLng(p.Latitud, p.Longitud)).ToList(); this.mapa.Markers.Clear(); this.mapa.Markers.Add(ControladorMapa.CrearRuta(posiciones, Brushes.Green)); foreach (var punto in posiciones) { this.mapa.Markers.Add(ControladorMapa.CrearPuntoPosicion(punto, Brushes.PaleVioletRed)); } if (posicion.Cliente != "VIAJE") //muestro el pin del cliente { foreach (var zona in vendedor.Zonas) { var cli = zona.Clientes.FirstOrDefault(c => c.Codigo == posicion.Cliente); if (cli != null) { 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; this.mapa.Markers.Add(marcador); break; } } } ControladorMapa.RefrescarVista(this.mapa); } } }
private object VerClientesDelVendedor(object vendedorMapa) { if (vendedorMapa == null) { return(false); } try { var v = vendedorMapa as Vendedor; v.VerClientes = true; //if (v.CantidadClientes == 0) ControladorVendedores.CargarClientes(v, DateTime.Today, this.ModoVerClientesConRuteo); if (v.Posiciones.Count == 0) { ControladorVendedores.CargarPosiciones(v, FechaDesde, FechaHasta); } foreach (var zona in v.Zonas) { foreach (var cli in zona.Clientes) { var marcador = new GMapMarker(cli.Coordenada.Value); var pin = ControladorMapa.CrearPinCliente(v.Posiciones, cli); marcador.Shape = pin; marcador.Shape.IsHitTestVisible = true; marcador.Offset = new Point(-pin.Width / 2, -pin.Height); marcador.ZIndex = 3; this.mapa.Markers.Add(marcador); } } ControladorMapa.RefrescarVista(this.mapa); } catch (Exception ex) { MessageBox.Show(ex.Message); } return(true); }
public VisualizadorZonasClientes() { InitializeComponent(); this.DataContext = this; colorEmpresaConverter = new ColorEmpresaConverter(); this.CmdMoverUbicacionDeClienteManualmente = new RelayCommand(e => this.MoverUbicacionDeClienteManualmente(e)); List <Zona> zonas = new List <Zona>(); try { zonas = ControladorZonas.ObtenerZonas(); } catch (Exception ex) { MessageBox.Show(ex.Message + "\n\nEsta ventana se cerrará."); this.Close(); } this.TodasLasZonas = new ObservableCollection <Zona>(zonas); this.Zonas = new ObservableCollection <Zona>(this.TodasLasZonas); this.listaDeZonas.SelectionChanged += listaDeZonas_SelectionChanged; var mdp = ControladorMapa.ObtenerCordenadasPorDireccion("Mar del Plata, Buenos Aires"); if (mdp.HasValue) { this.mapa.Position = mdp.Value; } else { this.mapa.Position = new PointLatLng(-38.0042615, -57.6070055); } this.clientesUC.dgClientes.SelectionChanged += DgClientes_SelectionChanged; this.mapa.MouseRightButtonDown += Mapa_MouseRightButtonDown; this.KeyDown += VisualizadorZonasClientes_KeyDown; }
private void listaDeZonas_SelectionChanged(object sender, SelectionChangedEventArgs e) { this.clienteAMover = null; try { this.mapa.Markers.Clear(); if (this.listaDeZonas.SelectedItem != null) { foreach (var zona in listaDeZonas.SelectedItems) { var zonaMapa = zona as Zona; this.SeleccionarZona(zonaMapa, false); } } ControladorMapa.RefrescarVista(this.mapa); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private object MoverUbicacionDeClienteManualmente(object cliente) { if (cliente == null) { return(false); } try { var cli = cliente as GMapMarker; this.mapa.Markers.Clear(); this.DibujarZona(this.ZonaSeleccionada); this.mapa.Markers.Add(cli); this.clientesUC.dgClientes.Items.Filter = c => c == cli.Tag; this.clienteAMover = cli; ControladorMapa.RefrescarVista(this.mapa); MessageBox.Show("Muévase por el mapa y haga clic derecho sobre la nueva ubicación de este cliente.", "Preparándose para mover el cliente"); } catch (Exception ex) { MessageBox.Show(ex.Message); } return(true); }
public HistorialPosicionesLogistica() { InitializeComponent(); this.DataContext = this; this.Fleteros = new ObservableCollection <Fletero>(); this.fleterosDelDia = new List <Fletero>(); var mdp = ControladorMapa.ObtenerCordenadasPorDireccion("Mar del Plata, Buenos Aires"); if (mdp.HasValue) { this.mapa.Position = mdp.Value; } else { this.mapa.Position = new PointLatLng(-38.0042615, -57.6070055); } this.listaDeElementos.SelectionChanged += ListaDeElementos_SelectionChanged; this.posicionesUC.dgPosiciones.SelectionChanged += dgPosiciones_SelectionChanged; }
private object VerClientesDelVendedor(object fleteroMapa) { if (fleteroMapa == null) { return(false); } try { var f = fleteroMapa as Fletero; f.VerClientes = true; if (f.Clientes.Count == 0) { ControladorFleteros.CargarClientesDelFletero(f, DateTime.Today); } ControladorFleteros.CargarPosiciones(f, FechaDesde, FechaHasta); foreach (var cli in f.Clientes) { var marcador = new GMapMarker(cli.Coordenada.Value); var pin = ControladorMapa.CrearPinClienteFletero(f.Posiciones, cli); marcador.Shape = pin; marcador.Shape.IsHitTestVisible = true; marcador.Offset = new Point(-pin.Width / 2, -pin.Height); marcador.ZIndex = 3; this.mapa.Markers.Add(marcador); } ControladorMapa.RefrescarVista(this.mapa); } catch (Exception ex) { MessageBox.Show(ex.Message); } return(true); }
public HistorialPosiciones() { InitializeComponent(); this.DataContext = this; this.Vendedores = new ObservableCollection <Vendedor>(); this.servicioMobile = new ServiceSoapClient(); var mdp = ControladorMapa.ObtenerCordenadasPorDireccion("Mar del Plata, Buenos Aires"); if (mdp.HasValue) { this.mapa.Position = mdp.Value; } else { this.mapa.Position = new PointLatLng(-38.0042615, -57.6070055); } this.listaDeElementos.SelectionChanged += ListaDeElementos_SelectionChanged; this.posicionesUC.dgPosiciones.SelectionChanged += dgPosiciones_SelectionChanged; }
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); } }