Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        void ObtenerPosiciones()
        {
            this.actualizadorDePosiciones.Stop();
            App.Current.Dispatcher.Invoke((Action) delegate
            {
                try
                {
                    var fleteros = ControladorFleteros.ObtenerUltimaPosicionFleteros(FechaDesde);
                    foreach (var item in fleteros)
                    {
                        this.AgregarActualizarFletero(item);
                    }

                    switch (this.modo)
                    {
                    case ModoVerMarcadores.Nada:
                        break;

                    case ModoVerMarcadores.Todo:
                        this.MostrarTodo();
                        break;

                    case ModoVerMarcadores.Seleccionado:
                        this.MostrarMarcador(this.listaDeElementos.SelectedItem as Fletero, true);
                        break;

                    default:
                        break;
                    }
                }
                catch (Exception exc)
                {
                    MessageBox.Show(exc.Message);
                }
            });
            this.actualizadorDePosiciones.Start();
        }
Ejemplo n.º 4
0
        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);
        }