private void dgPosiciones_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (sender != null) { var dg = (DataGrid)sender; var posicion = (ItemReporte)dg.SelectedItem; if (posicion != null) { var fletero = this.Fleteros.FirstOrDefault(x => x.Codigo == posicion.CodigoVendedor); var posiciones = fletero.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 { var cli = fletero.Clientes.FirstOrDefault(c => c.Codigo == posicion.Cliente); if (cli != null) { var marcador = new GMapMarker(cli.Coordenada.Value); var pin = ControladorMapa.CrearPinClienteFletero(fletero.Posiciones.Where(x => x.Fecha >= posicion.CheckIn && x.Fecha <= posicion.CheckOut).ToList(), 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); } } }
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); }