Exemple #1
0
 private void VerClientes(Elemento vendedor)
 {
     foreach (var item in vendedor.Clientes)
     {
         if (item.Latitud != 0 && item.Longitud != 0)
         {
             var marcador = new GMapMarker(new PointLatLng(item.Latitud, item.Longitud));
             Pin pin;
             if (vendedor.Posiciones.Any(p => p.Cliente == item.Codigo))
             {
                 pin = new PinVerde();
             }
             else
             {
                 pin = new PinAmarillo();
             }
             pin.Tag         = item;
             pin.Etiqueta    = item.Orden.ToString();
             marcador.Shape  = pin;
             marcador.Offset = new Point(-pin.Width / 2, -pin.Height);
             this.map.Markers.Add(marcador);
         }
     }
 }
        public static Pin CrearPinCliente(List <Posicion> posiciones, Cliente cli, bool imprimeRecorrido = true)
        {
            if (posiciones == null)
            {
                posiciones = new List <Posicion>();
            }

            var motivo = MotivoNoCompra.Compra;

            Pin pin;

            if (cli.OrdenRecorrido == 0)
            {
                pin = new PinGris();
            }
            else
            {
                if (posiciones.Any(p => p.Cliente == cli.Codigo))
                {
                    if (posiciones.Any(p => p.Cliente == cli.Codigo && p.MotivoNoCompra == MotivoNoCompra.Compra && p.PesosCompra > 0))
                    {
                        pin = new PinVerde();
                    }
                    else
                    {
                        pin    = new PinRojo();
                        motivo = posiciones.LastOrDefault(p => p.Cliente == cli.Codigo).MotivoNoCompra;
                    }
                }
                else
                {
                    pin = new PinAmarillo();
                }
            }
            if (imprimeRecorrido)
            {
                pin.Etiqueta = cli.OrdenRecorrido.ToString();
            }
            else
            {
                pin.Etiqueta = cli.Codigo;
            }

            if (motivo != MotivoNoCompra.Compra)
            {
                pin.ToolTip = cli.ToString() + "\n" + motivo.ToString().SplitCC();
            }
            else
            {
                pin.ToolTip = cli.ToString();
            }

            var menuItem = new MenuItem();

            menuItem.Header = cli.Observacion == string.Empty ? "Sin observaciones" : cli.Observacion;
            pin.Menu.Items.Add(menuItem);
            pin.Menu.UpdateLayout();

            //if (ModoSeleccion == SelectionMode.Single)
            //{
            //    var menuMover = new MenuItem();
            //    menuMover.Header = "Ubicar manualmente en el mapa";
            //    menuMover.Command = this.CmdMoverUbicacionDeClienteManualmente;
            //    menuMover.CommandParameter = marcador;
            //    pin.Menu.Items.Add(menuMover);
            //}
            //var marcador = new GMapMarker(cli.Coordenada.Value);
            //marcador.Tag = cli;
            //marcador.Shape = pin;
            //marcador.Shape.IsHitTestVisible = true;
            //marcador.Offset = new Point(-pin.Width / 2, -pin.Height);
            //marcador.ZIndex = 3;

            return(pin);
        }