//public static List<Fletero> ObtenerUltimaPosicionFleteros(DateTime fecha) //{ // List<Fletero> fleteros = new List<Fletero>(); // try // { // FoxDB.Instancia.Conectar(); // var consulta = FoxDB.Instancia.CrearComando("SELECT usuario, latitud, longitud, MAX(fecha)FROM trackingfletero WHERE fecha >= ? GROUP BY usuario ORDER BY fecha desc"); // consulta.Parameters.Add(new System.Data.OleDb.OleDbParameter("@fecha", fecha)); // var dr = consulta.ExecuteReader(); // while (dr.Read()) // { // var flet = new Fletero(); // flet.Codigo = dr.GetString(0).ToString(); // var latitud = Convert.ToDouble(dr.GetValue(1), CultureInfo.CurrentCulture); // var longitud = Convert.ToDouble(dr.GetValue(2), CultureInfo.CurrentCulture); // flet.CoordenadaActual = new GMap.NET.PointLatLng(latitud, longitud); // flet.Fecha = dr.GetDateTime(3).ToString(); // fleteros.Add(flet); // } // } // catch (Exception ex) // { // throw ex; // } // return fleteros; //} public static List <Fletero> ObtenerUltimaPosicionFleteros(DateTime fecha) { List <Fletero> fleteros = new List <Fletero>(); try { var consulta = MobileNinetySix.Instancia.CrearComando("SELECT usuario, latitud, longitud, MAX(fecha) FROM trackingfletero WHERE fecha >= ? GROUP BY usuario ORDER BY fecha desc"); consulta.Parameters.Add(new System.Data.SqlClient.SqlParameter("@fecha", fecha)); MobileNinetySix.Instancia.Conectar(); using (var dr = consulta.ExecuteReader()) { while (dr.Read()) { var flet = new Fletero(); flet.Codigo = dr.GetString(0).ToString(); var latitud = Convert.ToDouble(dr.GetValue(1), CultureInfo.CurrentCulture); var longitud = Convert.ToDouble(dr.GetValue(2), CultureInfo.CurrentCulture); flet.CoordenadaActual = new GMap.NET.PointLatLng(latitud, longitud); flet.Fecha = dr.GetDateTime(3).ToString(); fleteros.Add(flet); } } } catch (Exception ex) { throw ex; } finally { MobileNinetySix.Instancia.Desconectar(); } return(fleteros); }
private void SeleccionarMarcador(Fletero item) { item.VerClientes = true; item.VerTodasLasPosiciones = true; MostrarMarcador(item, true); mapa.Position = item.CoordenadaActual; }
private List <Fletero> obtenerFleteros() { var fleteros = new List <Fletero>(); try { using (var con = new SqlConnection(AccesoDB.SqlLogistica)) { var query = "SELECT distinct a.usuario, a.latitud, a.longitud, a.fecha FROM trackingfletero a inner join(select usuario, max(fecha) as fecha from trackingfletero where fecha>=@pFecha group by usuario) b on a.usuario = b.usuario where a.fecha = b.fecha"; var consulta = con.CreateCommand(); consulta.CommandType = CommandType.Text; consulta.CommandText = query; consulta.Parameters.Add(new SqlParameter("@pFecha", fecha)); con.Open(); using (var dr = consulta.ExecuteReader()) { while (dr.Read()) { var flet = new Fletero(); flet.Codigo = dr.GetString(0).ToString(); var latitud = Convert.ToDouble(dr.GetValue(1), CultureInfo.CurrentCulture); var longitud = Convert.ToDouble(dr.GetValue(2), CultureInfo.CurrentCulture); flet.CoordenadaActual = new PointLatLng(latitud, longitud); flet.Fecha = dr.GetDateTime(3).ToString(); fleteros.Add(flet); } } } } catch (Exception ex) { throw ex; } return(fleteros); }
private void MostrarMarcador(Fletero fletero, bool clear = false) { if (clear) { mapa.Markers.Clear(); } var marcador = new GMapMarker(fletero.CoordenadaActual); Pin pin = new PinAzul(); pin.Tag = fletero; pin.Etiqueta = fletero.Codigo; var menuItem = new MenuItem(); menuItem.Header = fletero.Nombre; pin.Menu.Items.Add(menuItem); pin.Menu.UpdateLayout(); //pin.MouseDoubleClick += pin_MouseDoubleClick; marcador.Shape = pin; marcador.Offset = new Point(-pin.Width / 2, -pin.Height); marcador.ZIndex = 4; this.mapa.Markers.Add(marcador); this.VerDomicilioVendedor(fletero); ControladorMapa.RefrescarVista(this.mapa); }
private void SeleccionarMarcador(Fletero fletero) { var worker = new CargarPosicionesFleteroWorker(this.mapa, fletero, diaSeleccionado.Value, diaSeleccionado.Value.AddDays(1)); worker.RunWorkerCompleted += cargaPosicionesFleteroWorker_Complete; worker.RunWorkerAsync(); this.MostrarMarcador(fletero, true); }
//private object VerClientesDelVendedor(object fleteroMapa) //{ // if (fleteroMapa == null) // return false; // try // { // fleteroSeleccionado = fleteroMapa as Fletero; // fleteroSeleccionado.VerClientes = true; // if (fleteroSeleccionado.Clientes.Count == 0) // { // this.cargarClientesWorker?.CancelAsync(); // this.cargarClientesWorker = new CargarClientesFleteroWorker(this.mapa, fleteroSeleccionado, FechaDesde); // cargarClientesWorker.RunWorkerCompleted += CargarClientesWorker_RunWorkerCompleted; // cargarClientesWorker.RunWorkerAsync(); // } // else // { // MostrarMarcador(fleteroSeleccionado, true); // } // } // catch (Exception ex) // { // MessageBox.Show(ex.Message); // } // return true; //} private void CargarClientesWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { if (e.Result != null) { fleteroSeleccionado = (Fletero)e.Result; ControladorMapa.ImprimirClientesFletero(this.mapa, fleteroSeleccionado.Posiciones, fleteroSeleccionado.Clientes); } }
private void btnMostrarTodos_Click(object sender, RoutedEventArgs e) { this.modo = ModoVerMarcadores.Todo; this.listaDeElementos.SelectedItem = null; this.listaDeElementos.SelectedIndex = -1; fleteroSeleccionado = null; this.MostrarTodo(); }
private void MostrarMarcador(Fletero fleteroMapa, bool clear = false) { if (clear) { mapa.Markers.Clear(); } var marcador = new GMapMarker(fleteroMapa.CoordenadaActual); Pin pin = new PinAzul(); pin.Tag = fleteroMapa; pin.Etiqueta = fleteroMapa.Codigo; var menuItem = new MenuItem(); menuItem.Header = "Ver Clientes de la Ruta"; menuItem.Command = this.CmdVerClientesPorRuta; menuItem.CommandParameter = fleteroMapa; pin.Menu.Items.Add(menuItem); var menuMostrarCamino = new MenuItem(); menuMostrarCamino.Header = "Mostrar todos los reportes"; menuMostrarCamino.Command = this.CmdVerCaminoPreventista; menuMostrarCamino.CommandParameter = fleteroMapa; pin.Menu.Items.Add(menuMostrarCamino); var menuMostrarDomicilio = new MenuItem(); menuMostrarDomicilio.Header = "Mostrar domicilio del fletero"; menuMostrarDomicilio.Command = this.CmdVerDomicilioFletero; menuMostrarDomicilio.CommandParameter = fleteroMapa; pin.Menu.Items.Add(menuMostrarDomicilio); pin.Menu.UpdateLayout(); //pin.MouseDoubleClick += pin_MouseDoubleClick; marcador.Shape = pin; marcador.Offset = new Point(-pin.Width / 2, -pin.Height); marcador.ZIndex = 4; this.mapa.Markers.Add(marcador); if (fleteroMapa.VerClientes) { this.VerClientesDelVendedor(fleteroMapa); } if (fleteroMapa.VerTodasLasPosiciones) { this.VerCaminoDelVendedor(fleteroMapa); } if (fleteroMapa.VerDomicilioDelFletero) { this.VerDomicilioFletero(fleteroMapa); } ControladorMapa.RefrescarVista(this.mapa); }
private void CalculaTiempoReporte(ref Fletero fletero) { var fecha = DateTime.Parse(fletero.Fecha); var timeSpan = DateTime.Now - fecha; if (timeSpan.Minutes > 30 || timeSpan.Hours > 1) { fletero.Estado = Estado.NO_REPORTA; } }
//public static List<ItemReporte> CrearReporte(Fletero fletero) //{ // var reportes = new List<ItemReporte>(); // foreach (var posicion in fletero.Posiciones) // { // if (posicion.Cliente == string.Empty || posicion.Cliente == "VIAJE") // { // CrearItemViaje(reportes, posicion, fletero.Codigo); // } // else // { // if (posicion.MotivoVisita == MotivoVisita.Pendiente) // { // CrearItemCheckin(reportes, posicion, fletero.Codigo); // } // else // { // //PODRIA PONER QUE TIPO DE MOTIVO ESTOY FILTRANDO... // if (posicion.MotivoVisita != MotivoVisita.Pendiente && posicion.MotivoVisita != MotivoVisita.VolverLuego) // { // CrearItemCheckout(reportes, posicion, fletero.Codigo); // } // } // } // } // return reportes; //} public static List <ItemReporte> CrearReporte(Fletero fletero) { var reportes = new List <ItemReporte>(); for (int i = 0; i < fletero.Posiciones.Count; i++) { var posicion = fletero.Posiciones[i]; if (posicion.Cliente == string.Empty || posicion.Cliente == "VIAJE") { CrearItemViaje(reportes, posicion, fletero.Codigo); } else { //if(posicion.Cliente=="18874") //{ // var x = 1; // x++; //} if (posicion.TipoVisita == TipoVisita.Pendiente) { var posicionesSiguientes = fletero.Posiciones.GetRange(i + 1, fletero.Posiciones.Count - i - 1); foreach (var ps in posicionesSiguientes) { if (ps.Cliente != string.Empty && ps.Cliente != "VIAJE") { if (ps.Cliente != posicion.Cliente) { break; } else { if (ps.TipoVisita == TipoVisita.Pendiente) { break; } else { CrearItemCheckin(reportes, posicion, fletero.Codigo); } } } } } else { //PODRIA PONER QUE TIPO DE MOTIVO ESTOY FILTRANDO... if (posicion.TipoVisita != TipoVisita.Pendiente && posicion.TipoVisita != TipoVisita.VolverLuego) { CrearItemCheckout(reportes, posicion, fletero.Codigo); } } } } return(reportes); }
//private object VerCaminoDelVendedor(object fleteroMapa) //{ // if (fleteroMapa == null) // return false; // try // { // fleteroSeleccionado = fleteroMapa as Fletero; // fleteroSeleccionado.VerTodasLasPosiciones = true; // if (fleteroSeleccionado.Posiciones.Count == 0) // // ControladorFleteros.CargarPosiciones(fleteroSeleccionado, FechaDesde, FechaHasta); // //this.mapa.Markers.Add(ControladorMapa.CrearRuta(fleteroSeleccionado.Posiciones.Where(p => p.Latitud != 0 && p.Longitud != 0).Select(x => new PointLatLng(x.Latitud, x.Longitud)).ToList(), Brushes.Red)); // //foreach (var pos in fleteroSeleccionado.Posiciones) // //{ // // if (pos.Latitud != 0 && pos.Longitud != 0) // // this.mapa.Markers.Add(ControladorMapa.CrearPuntoPosicion(pos)); // //} // //ControladorMapa.RefrescarVista(this.mapa); // { // this.cargaPosicionesWorker?.CancelAsync(); // this.cargaPosicionesWorker = new CargarPosicionesFleteroWorker(this.mapa, fleteroSeleccionado, FechaDesde, FechaHasta); // cargaPosicionesWorker.RunWorkerCompleted += CargaPosicionesWorker_RunWorkerCompleted; // cargaPosicionesWorker.RunWorkerAsync(); // } // else // { // MostrarMarcador(fleteroSeleccionado, true); // } // } // catch (Exception ex) // { // MessageBox.Show(ex.Message); // } // return true; //} private object OcultarCamino(object fleteroMapa) { if (fleteroMapa == null) { return(false); } fleteroSeleccionado = fleteroMapa as Fletero; fleteroSeleccionado.VerTodasLasPosiciones = false; this.MostrarMarcador(fleteroSeleccionado, true); return(true); }
private object OcultarClientesDeLaRuta(object fleteroMapa) { if (fleteroMapa == null) { return(false); } fleteroSeleccionado = fleteroMapa as Fletero; fleteroSeleccionado.VerClientes = false; this.MostrarMarcador(fleteroSeleccionado, true); return(true); }
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); } }
public CargarPosicionesFleteroWorker(Mapa mapa, Fletero flet, DateTime fechaDesde, DateTime fechaHasta) : this() { this.mapa = mapa; this.fletero = flet; //if (this.fletero.CoordenadaActual != null && this.fletero.CoordenadaActual.IsEmpty) //{ // this.fechaDesde = fechaDesde; //} //else //{ // this.fechaDesde = DateTime.Parse(this.fletero.Fecha); //} this.fechaDesde = fechaDesde; this.fechaHasta = fechaHasta; }
private void listaDeElementos_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (this.listaDeElementos.SelectedItem != null) { var flet = this.listaDeElementos.SelectedItem as Fletero; if (fleteroSeleccionado == null || (!flet.Codigo.Equals(fleteroSeleccionado.Codigo))) { //this.cargarClientesWorker?.CancelAsync(); //this.cargaPosicionesWorker?.CancelAsync(); fleteroSeleccionado = flet; //fleteroSeleccionado.VerClientes = false; //item.VerZona = false; //fleteroSeleccionado.VerTodasLasPosiciones = false; //item.VerDomicilioDelVendedor = false; SeleccionarMarcador(fleteroSeleccionado); this.modo = ModoVerMarcadores.Seleccionado; } } }
private void CargarDatosFletero(ref Fletero flet) { //var flet = new Fletero(); using (var connection = new OleDbConnection(AccesoDB.FoxPreventaReal)) { var query = string.Format("SELECT nombre,domicilio FROM proveedo WHERE fletero=1 AND habilitado=1 and codigo='{0}'", flet.Codigo); var consulta = AccesoDB.CrearComando(connection, query, CommandType.Text); connection.Open(); AccesoDB.ComandosFox(connection); var dr = consulta.ExecuteReader(); if (dr.Read()) { flet.Nombre = dr.GetString(0).Trim(); flet.Domicilio = dr.GetString(1).Trim(); } } //return flet; }
//SELECT distinc comision.cliente,clientes.nombre,clientes.domicilio, SUM(IIF(comision.condvta='01',final,cast(0 as n(10,2)))) as contado,SUM(IIF(comision.condvta='01',cast(0 as n(10,2)),final)) as ctacte FROM comision INNER JOIN (SELECT reparto FROM reparmad WHERE fletero='{0}') as crsMov ON crsmov.reparto=comision.reparto INNER JOIN clientes ON clientes.codigo=comision.cliente GROUP BY cliente public static void CargarClientesDelFletero(Fletero flet, DateTime today) { try { flet.Clientes.Clear(); FoxDB.Instancia.Conectar(); var consulta = FoxDB.Instancia.CrearStoredProcedure("clientesfletero"); consulta.Parameters.Add(new System.Data.OleDb.OleDbParameter("@fletero", flet.Codigo)); consulta.Parameters.Add(new System.Data.OleDb.OleDbParameter("@fecha", today)); var dr = consulta.ExecuteReader(); while (dr.Read()) { var cli = new ClienteFletero(); cli.Codigo = dr.GetString(0); cli.Nombre = dr.GetString(1).Trim(); cli.Calle = dr.GetString(2).Trim(); cli.Numero = dr.GetValue(3).ToString(); var Latitud = Convert.ToDouble(dr.GetValue(4), CultureInfo.CurrentCulture); var Longitud = Convert.ToDouble(dr.GetValue(5), CultureInfo.CurrentCulture); cli.Coordenada = new PointLatLng(Latitud, Longitud); cli.Observacion = dr.GetString(6).Trim(); cli.OrdenRecorrido = 0; cli.Actividad = dr.GetString(7).Trim(); cli.Roja = dr.GetBoolean(8); cli.Contado = Convert.ToDecimal(dr.GetValue(9)); cli.CtaCte = Convert.ToDecimal(dr.GetValue(10)); flet.Clientes.Add(cli); } FoxDB.Instancia.Desconectar(); flet.CantidadClientes = flet.Clientes.Count; } catch (Exception ex) { throw ex; } finally { FoxDB.Instancia.Desconectar(); } }
//private void AgregarFletero(Fletero fletero) //{ // var f = this.FleterosDelDia.FirstOrDefault(e => e.Codigo == fletero.Codigo); // if (f == null) // { // var flet = CargarDatosFletero(fletero.Codigo); // if (flet != null) // { // fletero.Foto = flet.Foto; // fletero.Nombre = flet.Nombre; // fletero.CoordenadaDomicilio = new PointLatLng(flet.CoordenadaDomicilio.Lat, flet.CoordenadaDomicilio.Lng); // } // if (fletero.CoordenadaActual.Lat == 0 && fletero.CoordenadaActual.Lng == 0) //si lat y lng vienen 0, 0 es porque tiene gps apagado // { // fletero.CoordenadaActual = new PointLatLng(-38.002452, -57.601936); // fletero.Estado = Estado.GPS_APAGADO; // } // CalculaTiempoReporte(fletero); // this.FleterosDelDia.Add(fletero); // } //} private void AgregarFletero(Fletero fletero) { if (this.FleterosDelDia.Any(e => e.Codigo == fletero.Codigo)) { var flet = this.FleterosDelDia.FirstOrDefault(x => x.Codigo == fletero.Codigo); //.Estado = fletero.Estado; //this.FleterosDelDia.FirstOrDefault(x => x.Codigo == fletero.Codigo).Fecha = fletero.Fecha; //this.FleterosDelDia.FirstOrDefault(x => x.Codigo == fletero.Codigo)); flet.Estado = fletero.Estado; flet.Fecha = fletero.Fecha; CalculaTiempoReporte(ref flet); if (fletero.CoordenadaActual.Lat == 0) { flet.Estado = Estado.GPS_APAGADO; } else { flet.CoordenadaActual = fletero.CoordenadaActual; } // 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; } else { CargarDatosFletero(ref fletero); CalculaTiempoReporte(ref fletero); if (fletero.CoordenadaActual.Lat == 0 && fletero.CoordenadaActual.Lng == 0) //si lat y lng vienen 0, 0 es porque tiene gps apagado { fletero.CoordenadaActual = new PointLatLng(-38.002452, -57.601936); fletero.Estado = Estado.GPS_APAGADO; } this.FleterosDelDia.Add(fletero); } }
private void VerDomicilioVendedor(Fletero fletero) { if (fletero.CoordenadaDomicilio.Lat != 0) { var marcador = new GMapMarker(fletero.CoordenadaDomicilio); var pin = new PinCasa(); pin.Tag = fletero; pin.Etiqueta = string.Empty; marcador.Shape = pin; marcador.Shape.IsHitTestVisible = true; marcador.Offset = new Point(-pin.Width / 2, -pin.Height); pin.ToolTip = "Casa de " + fletero.Nombre; var menuItem = new MenuItem(); menuItem.Header = fletero.Domicilio; pin.Menu.Items.Add(menuItem); pin.Menu.UpdateLayout(); marcador.ZIndex = 3; this.mapa.Markers.Add(marcador); } }
public static Fletero ObtenerFletero(string codigo) { var flet = new Fletero(); try { FoxDB.Instancia.Conectar(); var consulta = FoxDB.Instancia.CrearComando(string.Format("SELECT codigo,nombre,domicilio FROM proveedo WHERE fletero=1 AND habilitado=1 and codigo='{0}'", codigo)); var dr = consulta.ExecuteReader(); if (dr.Read()) { flet.Codigo = codigo; flet.Nombre = dr.GetString(0).Trim(); flet.Domicilio = dr.GetString(1).Trim(); } FoxDB.Instancia.Desconectar(); } catch (Exception ex) { throw ex; } return(flet); }
//public static void CargarClientes(Fletero fletero, DateTime today) //{ // CargarClientesDelFletero(fletero, today); //} //public static void CargarPosiciones(Fletero flet, DateTime fechaDesde, DateTime fechaHasta) //{ // flet.Posiciones.Clear(); // Func<object, dynamic, object> nonull = (p, def) => p == null ? def : p; // try // { // FoxDB.Instancia.Conectar(); // var consulta = FoxDB.Instancia.CrearComando("SELECT cliente,estado,latitud,longitud,fecha FROM trackingfletero WHERE usuario=? AND BETWEEN(fecha,?,?) group by latitud,longitud,cliente ORDER BY fecha"); // consulta.Parameters.Add(new System.Data.OleDb.OleDbParameter("@fletero", flet.Codigo)); // consulta.Parameters.Add(new System.Data.OleDb.OleDbParameter("@fdesde", fechaDesde)); // consulta.Parameters.Add(new System.Data.OleDb.OleDbParameter("@fhasta", fechaHasta)); // var dr = consulta.ExecuteReader(); // while (dr.Read()) // { // var pos = new Posicion(); // pos.Cliente = dr.GetString(0); // pos.MotivoVisita = (MotivoVisita)Convert.ToInt32(dr.GetValue(1)); // pos.Latitud = Convert.ToDouble(dr.GetValue(2), CultureInfo.CurrentCulture); // pos.Longitud = Convert.ToDouble(dr.GetValue(3), CultureInfo.CurrentCulture); // pos.Fecha = dr.GetDateTime(4); // flet.Posiciones.Add(pos); // } // //if (dr.Read()) // //{ // // var pos = new Posicion(); // // pos.Cliente = dr.GetString(0); // // pos.MotivoVisita = (MotivoVisita)dr.GetInt32(1); // // pos.Latitud = Convert.ToDouble(dr.GetValue(2), CultureInfo.CurrentCulture); // // pos.Longitud= Convert.ToDouble(dr.GetValue(3), CultureInfo.CurrentCulture); // // pos.Fecha = new DateTime() // // vendedor.CodigoDivision = dr.GetString(2).Trim(); // // vendedor.Calle = dr.GetString(3).Trim(); // // vendedor.Numero = dr.GetString(4).Trim(); // // var Latitud = Convert.ToDouble(dr.GetValue(5), CultureInfo.CurrentCulture); // // var Longitud = Convert.ToDouble(dr.GetValue(6), CultureInfo.CurrentCulture); // // vendedor.CoordenadaDomicilio = new PointLatLng(Latitud, Longitud); // // vendedor.Foto = dr.GetString(7); // //vendedor.ZonasAsignadas = ControladorZonas.ObtenerZonasDelVendedor(vendedor.Codigo, DatetimeToDiaSemana.Convertir(DateTime.Today)); // //} // var clientesVisitados = flet.Posiciones.Where(p => (p.Cliente != "" && p.Cliente != "VIAJE") && p.MotivoVisita != MotivoVisita.Pendiente).DistinctBy(x => x.Cliente); // flet.Visitados = clientesVisitados.Count(); // FoxDB.Instancia.Desconectar(); // } // catch (Exception ex) // { // throw ex; // } //} public static void CargarPosiciones(Fletero flet, DateTime fechaDesde, DateTime fechaHasta) { flet.Posiciones.Clear(); Func <object, dynamic, object> nonull = (p, def) => p == null ? def : p; try { var consulta = MobileNinetySix.Instancia.CrearComando("SELECT cliente,estado,latitud,longitud,fecha FROM trackingfletero WHERE usuario=? AND BETWEEN(fecha,?,?) group by latitud,longitud,cliente ORDER BY fecha"); consulta.Parameters.Add(new System.Data.SqlClient.SqlParameter("@fletero", flet.Codigo)); consulta.Parameters.Add(new System.Data.SqlClient.SqlParameter("@fdesde", fechaDesde)); consulta.Parameters.Add(new System.Data.SqlClient.SqlParameter("@fhasta", fechaHasta)); MobileNinetySix.Instancia.Conectar(); using (var dr = consulta.ExecuteReader()) { while (dr.Read()) { var pos = new Posicion(); pos.Cliente = dr.GetString(0); pos.MotivoVisita = (MotivoVisita)Convert.ToInt32(dr.GetValue(1)); pos.Latitud = Convert.ToDouble(dr.GetValue(2), CultureInfo.CurrentCulture); pos.Longitud = Convert.ToDouble(dr.GetValue(3), CultureInfo.CurrentCulture); pos.Fecha = dr.GetDateTime(4); flet.Posiciones.Add(pos); } } var clientesVisitados = flet.Posiciones.Where(p => (p.Cliente != "" && p.Cliente != "VIAJE") && p.MotivoVisita != MotivoVisita.Pendiente).DistinctBy(x => x.Cliente); flet.Visitados = clientesVisitados.Count(); } catch (Exception ex) { throw ex; } finally { MobileNinetySix.Instancia.Desconectar(); } }
private void SeleccionarMarcador(Fletero item) { MostrarMarcador(item, true); mapa.Position = item.CoordenadaActual; }
private void MostrarMarcador(Fletero fleteroMapa, bool clear = false) { if (clear) { mapa.Markers.Clear(); } //if (listaDeElementos.Items.Contains(fleteroMapa) && this.modo == ModoVerMarcadores.Seleccionado) // listaDeElementos.SelectedItem = fleteroMapa; var marcador = new GMapMarker(fleteroMapa.CoordenadaActual); Pin pin = new PinAzul(); pin.Tag = fleteroMapa; pin.Etiqueta = fleteroMapa.Codigo; //if (fleteroMapa.VerClientes) //{ // var menuItem = new MenuItem(); // menuItem.Header = "Ocultar Clientes de la Ruta"; // menuItem.Command = this.CmdOcultarClientesDeLaRuta; // menuItem.CommandParameter = fleteroMapa; // pin.Menu.Items.Add(menuItem); //} //else //{ // var menuItem = new MenuItem(); // menuItem.Header = "Ver Clientes de la Ruta"; // menuItem.Command = this.CmdVerClientesPorRuta; // menuItem.CommandParameter = fleteroMapa; // pin.Menu.Items.Add(menuItem); //} //if (fleteroMapa.VerTodasLasPosiciones) //{ // var menuMostrarCamino = new MenuItem(); // menuMostrarCamino.Header = "Ocultar reportes"; // menuMostrarCamino.Command = this.CmdOcultarCamino; // menuMostrarCamino.CommandParameter = fleteroMapa; // pin.Menu.Items.Add(menuMostrarCamino); //} //else //{ // var menuMostrarCamino = new MenuItem(); // menuMostrarCamino.Header = "Mostrar todos los reportes"; // menuMostrarCamino.Command = this.CmdVerCaminoPreventista; // menuMostrarCamino.CommandParameter = fleteroMapa; // pin.Menu.Items.Add(menuMostrarCamino); //} var menuMostrarDomicilio = new MenuItem(); menuMostrarDomicilio.Header = "Mostrar domicilio del fletero"; menuMostrarDomicilio.Command = this.CmdVerDomicilioFletero; menuMostrarDomicilio.CommandParameter = fleteroMapa; pin.Menu.Items.Add(menuMostrarDomicilio); pin.Menu.UpdateLayout(); //pin.MouseDoubleClick += pin_MouseDoubleClick; marcador.Shape = pin; marcador.Offset = new Point(-pin.Width / 2, -pin.Height); marcador.ZIndex = 4; this.mapa.Markers.Add(marcador); if (fleteroMapa.VerClientes) { if (fleteroMapa.Clientes.Count > 0) { ControladorMapa.ImprimirClientesFletero(this.mapa, fleteroMapa.Posiciones, fleteroMapa.Clientes); } } //else // this.VerClientesDelVendedor(fleteroMapa); if (fleteroMapa.VerTodasLasPosiciones) { if (fleteroMapa.Posiciones.Count > 0) { ControladorMapa.ImprimirCamino(this.mapa, fleteroMapa.Posiciones); } } //else // this.VerCaminoDelVendedor(fleteroMapa); if (fleteroMapa.VerDomicilioDelFletero) { this.VerDomicilioFletero(fleteroMapa); } ControladorMapa.RefrescarVista(this.mapa); }
public CargarClientesFleteroWorker(Mapa mapa, Fletero flet, DateTime fecha) : this() { this.mapa = mapa; this.Fletero = flet; this.fecha = fecha; }
public static void ActualizarCoordenadaDomicilio(Fletero f) { throw new NotImplementedException(); }