示例#1
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);
            }
        }
示例#2
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);
        }