private object VerZonasDelVendedor(object vendedorMapa)
        {
            //Random r = new Random();
            var v = (Vendedor)vendedorMapa;

            try
            {
                if (v.Zonas.Count == 0) //cargo las listas de zonas si no están cargadas
                {
                    ControladorZonas.CargarZonasDelVendedor(v, DateTime.Today);
                }
                foreach (var zonamapa in v.Zonas) //dibujo
                {
                    //var alpha = r.Next(0, byte.MaxValue + 1);
                    //var red = r.Next(0, byte.MaxValue + 1);
                    //var green = r.Next(0, byte.MaxValue + 1);
                    //var blue = r.Next(0, byte.MaxValue + 1);
                    //var brush = new SolidColorBrush(Color.FromArgb((byte)alpha, (byte)red, (byte)green, (byte)blue));
                    if (zonamapa.Vertices.Count == 0) //cargo los vertices si es que no los cargué aun.
                    {
                        zonamapa.Vertices = ControladorZonas.ObtenerVerticesZona(zonamapa.Codigo, zonamapa.CodigoEmpresa, zonamapa.CodigoDivision);
                    }
                    this.mapa.Markers.Add(ControladorMapa.CrearPoligonoZona(zonamapa.Vertices, zonamapa.CodigoEmpresa == "01" ? Brushes.LightBlue : Brushes.Orange, zonamapa.Codigo));
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            v.VerZona = true;
            ControladorMapa.RefrescarVista(this.mapa);
            return(true);
        }
        private void AgregarActualizarVendedor(Vendedor vendedorMapa)
        {
            try
            {
                var v = Vendedores.FirstOrDefault(e => e.Codigo == vendedorMapa.Codigo);
                if (v == null)
                {
                    var prev = ControladorVendedores.ObtenerVendedor(vendedorMapa.Codigo);
                    if (prev != null)
                    {
                        vendedorMapa.Foto   = prev.Foto;
                        vendedorMapa.Nombre = prev.Nombre;
                        vendedorMapa.Calle  = prev.Calle;
                        vendedorMapa.Numero = prev.Numero;
                        vendedorMapa.CoordenadaDomicilio = new PointLatLng(prev.CoordenadaDomicilio.Lat, prev.CoordenadaDomicilio.Lng);
                    }

                    this.CalculaTiempoReporte(vendedorMapa);

                    if (vendedorMapa.CoordenadaActual.Lat == 0 && vendedorMapa.CoordenadaActual.Lng == 0) //si lat y lng vienen 0, 0 es porque tiene gps apagado
                    {
                        vendedorMapa.CoordenadaActual = new PointLatLng(-38.002452, -57.601936);
                        vendedorMapa.Estado           = Estado.GPS_APAGADO;
                    }

                    this.Vendedores.Add(vendedorMapa);
                }
                else
                {
                    if (v.Zonas.Count == 0)
                    {
                        ControladorZonas.CargarZonasDelVendedor(v, DateTime.Today);
                    }
                    ControladorVendedores.CalcularBultosYPesos(v, FechaDesde, FechaHasta);

                    v.Estado = vendedorMapa.Estado;
                    v.Fecha  = vendedorMapa.Fecha;

                    this.CalculaTiempoReporte(v);

                    if (vendedorMapa.CoordenadaActual.Lat == 0 && vendedorMapa.CoordenadaActual.Lng == 0)
                    {
                        vendedorMapa.Estado = Estado.GPS_APAGADO;
                    }
                    else
                    {
                        v.CoordenadaActual = vendedorMapa.CoordenadaActual;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Exemple #3
0
 private void SeleccionarMarcador(Vendedor vendedor)
 {
     if (vendedor.Zonas.Count == 0)
     {
         ControladorZonas.CargarZonasDelVendedor(vendedor, diaSeleccionado.Value);
     }
     vendedor.CantidadClientes = 0;
     foreach (var zona in vendedor.Zonas)
     {
         ControladorZonas.CargarClientes(zona, this.ModoVerClientesConRuteo);
         vendedor.CantidadClientes += zona.Clientes.Count;
     }
     ControladorVendedores.CalcularBultosYPesos(vendedor, diaSeleccionado.Value, diaSeleccionado.Value.AddDays(1));
     this.MostrarMarcador(vendedor, true);
 }