private void AgregarActualizarFletero(Fletero fleteroMapa) { try { var f = Fleteros.FirstOrDefault(e => e.Codigo == fleteroMapa.Codigo); if (f == null) { var flet = ControladorFleteros.ObtenerFletero(fleteroMapa.Codigo); if (flet != null) { fleteroMapa.Foto = flet.Foto; fleteroMapa.Nombre = flet.Nombre; fleteroMapa.Domicilio = flet.Domicilio; fleteroMapa.CoordenadaDomicilio = new PointLatLng(flet.CoordenadaDomicilio.Lat, flet.CoordenadaDomicilio.Lng); } this.CalculaTiempoReporte(fleteroMapa); if (fleteroMapa.CoordenadaActual.Lat == 0 && fleteroMapa.CoordenadaActual.Lng == 0) //si lat y lng vienen 0, 0 es porque tiene gps apagado { fleteroMapa.CoordenadaActual = new PointLatLng(-38.002452, -57.601936); fleteroMapa.Estado = Estado.GPS_APAGADO; } this.Fleteros.Add(fleteroMapa); } else { if (f.Clientes.Count == 0) { ControladorFleteros.CargarClientesDelFletero(f, DateTime.Today); } f.Estado = fleteroMapa.Estado; f.Fecha = fleteroMapa.Fecha; this.CalculaTiempoReporte(f); if (fleteroMapa.CoordenadaActual.Lat == 0 && fleteroMapa.CoordenadaActual.Lng == 0) { fleteroMapa.Estado = Estado.GPS_APAGADO; } else { f.CoordenadaActual = fleteroMapa.CoordenadaActual; } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
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); }