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