blob: ee4379beca66787466a7a5e28ad73fdbe7f032cd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
using Enmarcha.Backend.Helpers;
namespace Enmarcha.Backend.Services.Processors.Normalisation;
public class ColourProcessor : IArrivalsProcessor
{
private readonly FeedService _feedService;
public ColourProcessor(FeedService feedService)
{
_feedService = feedService;
}
public Task ProcessAsync(ArrivalsContext context)
{
var feedId = context.StopId.Split(':')[0];
var (fallbackColor, fallbackTextColor) = _feedService.GetFallbackColourForFeed(feedId);
foreach (var arrival in context.Arrivals)
{
if (string.IsNullOrEmpty(arrival.Route.Colour) || arrival.Route.Colour == "FFFFFF")
{
arrival.Route.Colour = fallbackColor;
arrival.Route.TextColour = fallbackTextColor;
}
else if (string.IsNullOrEmpty(arrival.Route.TextColour) || arrival.Route.TextColour == "000000")
{
arrival.Route.TextColour = ContrastHelper.GetBestTextColour(arrival.Route.Colour);
}
}
return Task.CompletedTask;
}
}
|