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));
        }
Exemple #2
0
        /// <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);
        }