示例#1
0
        public List <DTOubicacion> ubicarVehiculo()
        {
            List <DTOubicacion> lstDto = new List <DTOubicacion>();

            List <ELlegada> lstLL = iLlegada.getAllLlegadas();

            foreach (var l in lstLL)
            {
                DTOubicacion dtou = new DTOubicacion();

                dtou.matricula = iVehiculo.getVehiculos(iSalida.getSalidas(iViaje.getViaje(l.idViaje).IdSalida).IdVehiculo).Matricula;
                dtou.lat       = iParada.getParada(l.idParada).Lat;
                dtou.lon       = iParada.getParada(l.idParada).Long;
                dtou.hora      = l.hora;
                dtou.fecha     = l.fecha;
                lstDto.Add(dtou);
            }

            List <string> matriculas = new List <string>();

            foreach (var dtoo in lstDto)
            {
                matriculas.Add(dtoo.matricula);
            }
            List <string> matriculasUncas = matriculas.Distinct().ToList();

            List <DTOubicacion> lstdtoFinal = new List <DTOubicacion>();

            foreach (var matU in matriculasUncas)
            {
                DTOubicacion ultimaFechaYHoras = ultimaFechaYHora(matU, lstDto);
                lstdtoFinal.Add(ultimaFechaYHoras);
            }

            return(lstdtoFinal);
        }
示例#2
0
        public DTOnextBus CrearLlegada(int idViaje, TimeSpan hora, DateTime fecha)
        {
            List <ETramo> tramos = iLinea.getLinea(iSalida.getSalidas(iViaje.getViaje(idViaje).IdSalida).IdLinea).Tramo.ToList();

            List <EParada> paradas = new List <EParada>(); //todas las paradas del viaje

            foreach (var tramo in tramos)
            {
                paradas.Add(iParada.getParada(tramo.IdParada));
            }

            List <ELlegada> llegadas = new List <ELlegada>(); //todas las llegadas del viaje

            foreach (var llegada in iLllegada.getAllLlegadas())
            {
                if (llegada.idViaje == idViaje)
                {
                    llegadas.Add(iLllegada.getLlegada(llegada.idParada, llegada.idViaje));
                }
            }

            int idUltParada = llegadas.Last().idParada; //ultima llegada por la que paso

            EParada proxP = iParada.getParada(idUltParada);

            int ord = orden(idUltParada, tramos);

            if (!isUltima(idUltParada, tramos))
            {
                proxP = nextParada(tramos, ord);

                if (isFinalParada(proxP.IdParada, idViaje))
                {
                    iViaje.finalizarViaje(idViaje);
                    iLllegada.addLlegada(proxP.IdParada, idViaje, hora, fecha);
                    DTOnextBus ee = new DTOnextBus();
                    ee.matricula = "N/A";
                    ee.hora      = "N/A";
                    ee.parada    = "N/A";
                    return(ee);
                }

                iLllegada.addLlegada(proxP.IdParada, idViaje, hora, fecha);

                DTOnextBus siguientesPjrs = notificacionProximidad2(proxP, idViaje, hora);
                return(siguientesPjrs);
            }
            else
            {
                if (isFinalParada(proxP.IdParada, idViaje))
                {
                    iViaje.finalizarViaje(idViaje);

                    iLllegada.addLlegada(proxP.IdParada, idViaje, hora, fecha);

                    DTOnextBus sigui = new DTOnextBus();
                    sigui.matricula = "N/A";
                    sigui.hora      = "N/A";
                    sigui.parada    = "N/A";
                    return(sigui);
                }

                iLllegada.addLlegada(proxP.IdParada, idViaje, hora, fecha);

                DTOnextBus siguientesPjrs = new DTOnextBus();
                siguientesPjrs.matricula = "N/A";
                siguientesPjrs.hora      = "N/A";
                siguientesPjrs.parada    = "N/A";
                return(siguientesPjrs);
            }
        }