private static AlertData GetAlert(FeedMessage feedMessage,
                                   FeedEntity entity,
                                   TranslatedString.Translation translation,
                                   TranslatedString.Translation headerTranslation)
 {
     return(new AlertData
     {
         AlertId = entity.id,
         Cause = entity.alert.cause.ToString(),
         DescriptionLanguage = translation?.language,
         DescriptionText = translation?.text,
         Effect = entity.alert.effect.ToString(),
         GtfsRealtimeVersion = feedMessage.header?.gtfs_realtime_version,
         HeaderLanguage = headerTranslation.language,
         HeaderText = headerTranslation.text,
         HeaderTimestamp = feedMessage.header?.timestamp ?? 0,
         Incrementality = feedMessage.header?.incrementality.ToString(),
         Url = entity.alert.url?.translation.FirstOrDefault()?.text,
         InformedEntities = entity.alert.informed_entity.Select(e => new AlertInformedEntityData
         {
             HeaderTimestamp = feedMessage.header.timestamp,
             AlertId = entity.id,
             AgencyId = e.agency_id,
             RouteId = e.route_id,
             RouteType = e.route_type,
             StopId = e.stop_id,
             TripId = e.trip?.trip_id
         })
                            .ToList(),
         ActivePeriods = entity.alert.active_period.Select(a => new AlertActivePeriodData
         {
             HeaderTimestamp = feedMessage.header.timestamp,
             AlertId = entity.id,
             ActivePeriodEnd = a.end,
             ActivePeriodStart = a.start
         })
                         .ToList()
     });
 }
Exemplo n.º 2
0
 private static AlertData GetAlert(FeedMessage feedMessage,
                                   FeedEntity entity,
                                   TranslatedString.Translation translation,
                                   TranslatedString.Translation headerTranslation)
 {
     return(new AlertData
     {
         AlertId = entity.Id,
         Cause = entity.Alert.cause.ToString(),
         DescriptionLanguage = translation?.Language,
         DescriptionText = translation?.Text,
         Effect = entity.Alert.effect.ToString(),
         GtfsRealtimeVersion = feedMessage.Header?.GtfsRealtimeVersion,
         HeaderLanguage = headerTranslation.Language,
         HeaderText = headerTranslation.Text,
         HeaderTimestamp = feedMessage.Header?.Timestamp ?? 0,
         Incrementality = feedMessage.Header?.incrementality.ToString(),
         Url = entity.Alert.Url?.Translations.FirstOrDefault()?.Text,
         InformedEntities = entity.Alert.InformedEntities.Select(e => new AlertInformedEntityData
         {
             HeaderTimestamp = feedMessage.Header.Timestamp,
             AlertId = entity.Id,
             AgencyId = e.AgencyId,
             RouteId = e.RouteId,
             RouteType = e.RouteType,
             StopId = e.StopId,
             TripId = e.Trip?.TripId
         })
                            .ToList(),
         ActivePeriods = entity.Alert.ActivePeriods.Select(a => new AlertActivePeriodData
         {
             HeaderTimestamp = feedMessage.Header.Timestamp,
             AlertId = entity.Id,
             ActivePeriodEnd = a.End,
             ActivePeriodStart = a.Start
         })
                         .ToList()
     });
 }