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);
            }
        }
Exemplo n.º 2
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);
 }