Пример #1
0
        private DTOnextBus notificacionProximidad2(EParada Eparada, int viaje, TimeSpan hora)
        {
            int     Parada = Eparada.IdParada;
            ESalida salida = iSalida.getSalidas(iViaje.getViaje(viaje).IdSalida);

            string matric = iVehiculo.getVehiculos(salida.IdVehiculo).Matricula;


            DTOnextBus nextBus = new DTOnextBus();

            if (isFinalParada(Parada, viaje))
            {
                nextBus.matricula = "N/A";
                nextBus.parada    = "N/A";
                nextBus.hora      = "N/A";
                return(nextBus);
            }
            int idNextP = nextParadaNot(Parada, viaje);

            int      tiempo  = iTramo.getTramos(salida.IdLinea, idNextP).TiempoEstimado;
            TimeSpan minutes = TimeSpan.FromMinutes(tiempo);

            string horastr = hora.Add(minutes).ToString();

            nextBus.parada    = iParada.getParada(idNextP).Nombre;
            nextBus.matricula = matric;
            nextBus.hora      = horastr;

            return(nextBus);
        }
Пример #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="idUsuario"></param>
        /// <param name="idParada">Que no sea la terminal</param>
        /// <returns></returns>
        public List <DTOproxVehiculo> proximoVehiculo(int idUsuario, int idParada)
        {
            List <DTOproxVehiculo> proxVs = new List <DTOproxVehiculo>();

            EParada ep = iParada.getParada(idParada);

            List <ETramo> tramos = ep.Tramo.ToList(); // lista de tramos

            List <int> idLineas = new List <int>();

            foreach (var t in tramos)
            {
                idLineas.Add(t.IdLinea);
            }
            idLineas.Distinct(); // lista de lineas

            int            ord  = 0;
            int            idpa = 0;
            List <EParada> paradasAnteriores = new List <EParada>();

            foreach (var idL in idLineas)
            {
                ord = iTramo.getTramos(idL, idParada).Orden - 1;
                if (ord == 0)
                {
                    throw new Exception("La parada no puede ser la terminal");
                }
                idpa = getOrd(iLinea.getLinea(idL).Tramo.ToList(), ord);
                paradasAnteriores.Add(iParada.getParada(idpa));
            }

            //lista de viajes de una parada hordendaos por hora
            List <EViaje> viajes = new List <EViaje>();

            foreach (var par in paradasAnteriores)
            {
                foreach (var ll in par.Llegada)
                {
                    if (ultimaParada(ll.idViaje) != iParada.getParada(idParada))
                    {
                        viajes.Add(iViaje.getViaje(ll.idViaje));
                    }
                }
            }

            List <EViaje> misViajs = new List <EViaje>();
            EUsuario      usuario  = iUsuario.getUsuario(idUsuario);

            if (usuario == null)
            {
                return(null);
            }
            foreach (var pasaje in iUsuario.getUsuario(idUsuario).Pasaje.ToList())
            {
                misViajs.Add(iViaje.getViaje(pasaje.IdViaje));
            }

            foreach (var viaje in viajes)
            {
                foreach (var miV in misViajs)
                {
                    DTOproxVehiculo proxV = new DTOproxVehiculo();
                    proxV.linea    = iLinea.getLinea(iSalida.getSalidas(miV.IdSalida).IdLinea).Nombre;
                    proxV.Vehiculo = iVehiculo.getVehiculos(iSalida.getSalidas(viaje.IdSalida).IdVehiculo);
                    if (viaje.IdViaje == miV.IdViaje)
                    {
                        proxV.reservado = true;
                    }
                    else
                    {
                        proxV.reservado = false;
                    }
                    proxVs.Add(proxV);
                }
            }

            List <DTOproxVehiculo> proximos = proxVs
                                              .GroupBy(p => p.Vehiculo.Matricula)
                                              .Select(g => g.First())
                                              .ToList();

            return(proximos);
        }
Пример #3
0
 public ETramo getTramo(int IdParada, int IdLinea)
 {
     return(iTramo.getTramos(IdLinea, IdLinea));
 }