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