private void SeleccionarZona(Zona zonaMapa, bool clear = true) { if (clear) { this.mapa.Markers.Clear(); } this.DibujarZona(zonaMapa); zonaMapa.Clientes.Clear(); ControladorZonas.CargarClientes(zonaMapa, this.ModoVerClientesConRuteo); this.VerClientes(zonaMapa.Clientes); if (this.ModoSeleccion == SelectionMode.Single) { this.VisibilidadColumnaClientes = GridLength.Auto; this.clientesUC.Clientes = new ObservableCollection <Cliente>(zonaMapa.Clientes); this.clientesUC.dgClientes.Items.Filter = null; this.clientesUC.cantidadClientes = this.clientesUC.Clientes.Count; this.ZonaSeleccionada = zonaMapa; } else { this.VisibilidadColumnaClientes = new GridLength(0); } }
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); } }
private void VerZonasDelVendedor(Vendedor vendedorMapa) { foreach (var zona in vendedorMapa.Zonas) //dibujo { if (zona.Vertices.Count == 0) //cargo los vertices si es que no los cargué aun. { zona.Vertices = ControladorZonas.ObtenerVerticesZona(zona.Codigo, zona.CodigoEmpresa, zona.CodigoDivision); } this.mapa.Markers.Add(ControladorMapa.CrearPoligonoZona(zona.Vertices, zona.CodigoEmpresa == "01" ? Brushes.LightBlue : Brushes.Orange, zona.Codigo)); } }
private void DibujarZona(Zona zonaMapa) { var tag = zonaMapa.Codigo + "-" + zonaMapa.CodigoDivision + "-" + zonaMapa.CodigoEmpresa; var color = (Brush)colorEmpresaConverter.Convert(zonaMapa.CodigoEmpresa, null, null, null); if (zonaMapa.Vertices.Count == 0) { zonaMapa.Vertices = ControladorZonas.ObtenerVerticesZona(zonaMapa.Codigo, zonaMapa.CodigoEmpresa, zonaMapa.CodigoDivision); } if (!this.mapa.Markers.Any(z => z.ZIndex == 0 && z.Tag.ToString() == tag)) { this.mapa.Markers.Add(ControladorMapa.CrearPoligonoZona(zonaMapa.Vertices, color, tag)); } }
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); }
public VisualizadorZonasClientes() { InitializeComponent(); this.DataContext = this; colorEmpresaConverter = new ColorEmpresaConverter(); this.CmdMoverUbicacionDeClienteManualmente = new RelayCommand(e => this.MoverUbicacionDeClienteManualmente(e)); List <Zona> zonas = new List <Zona>(); try { zonas = ControladorZonas.ObtenerZonas(); } catch (Exception ex) { MessageBox.Show(ex.Message + "\n\nEsta ventana se cerrará."); this.Close(); } this.TodasLasZonas = new ObservableCollection <Zona>(zonas); this.Zonas = new ObservableCollection <Zona>(this.TodasLasZonas); this.listaDeZonas.SelectionChanged += listaDeZonas_SelectionChanged; var mdp = ControladorMapa.ObtenerCordenadasPorDireccion("Mar del Plata, Buenos Aires"); if (mdp.HasValue) { this.mapa.Position = mdp.Value; } else { this.mapa.Position = new PointLatLng(-38.0042615, -57.6070055); } this.clientesUC.dgClientes.SelectionChanged += DgClientes_SelectionChanged; this.mapa.MouseRightButtonDown += Mapa_MouseRightButtonDown; this.KeyDown += VisualizadorZonasClientes_KeyDown; }