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); }
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); } }