public static IEnumerable <StopsBasic.StopBasic> GetStops(this TripSegment ts) { yield return(DataFeedClient.Basic.Stops.FindByIndex(ts.SourceStopID)); foreach (var @is in ts.IntermediateStops) { yield return(DataFeedClient.Basic.Stops.FindByIndex(@is.StopID)); } yield return(DataFeedClient.Basic.Stops.FindByIndex(ts.TargetStopID)); }
/// <summary> /// Returns total waiting time between trip segments. /// </summary> public TimeSpan GetWaitingTime() { TripSegment previous = null; TimeSpan sum = TimeSpan.Zero; foreach (var js in JourneySegments) { if (js is TripSegment) { if (previous == null) { previous = (TripSegment)js; } else { sum += ((TripSegment)js).DepartureDateTime - previous.ArrivalDateTime; previous = (TripSegment)js; } } } return(sum); }