aboutsummaryrefslogtreecommitdiff
path: root/src/Costasdev.Busurbano.Backend/Services/Processors/MarqueeProcessor.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Costasdev.Busurbano.Backend/Services/Processors/MarqueeProcessor.cs')
-rw-r--r--src/Costasdev.Busurbano.Backend/Services/Processors/MarqueeProcessor.cs26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/Costasdev.Busurbano.Backend/Services/Processors/MarqueeProcessor.cs b/src/Costasdev.Busurbano.Backend/Services/Processors/MarqueeProcessor.cs
new file mode 100644
index 0000000..ec65493
--- /dev/null
+++ b/src/Costasdev.Busurbano.Backend/Services/Processors/MarqueeProcessor.cs
@@ -0,0 +1,26 @@
+namespace Costasdev.Busurbano.Backend.Services.Processors;
+
+public class MarqueeProcessor : IArrivalsProcessor
+{
+ private readonly FeedService _feedService;
+
+ public MarqueeProcessor(FeedService feedService)
+ {
+ _feedService = feedService;
+ }
+
+ public Task ProcessAsync(ArrivalsContext context)
+ {
+ var feedId = context.StopId.Split(':')[0];
+
+ foreach (var arrival in context.Arrivals)
+ {
+ if (string.IsNullOrEmpty(arrival.Headsign.Marquee))
+ {
+ arrival.Headsign.Marquee = _feedService.GenerateMarquee(feedId, arrival.NextStops);
+ }
+ }
+
+ return Task.CompletedTask;
+ }
+}