blob: fbda36cc5f665cecbc094230f44d59d83544c5f7 (
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
35
36
37
38
|
using System.Text.Json.Serialization;
namespace Enmarcha.Backend.Helpers;
public class TransitKindClassifier
{
public static TransitKind KindByFeed(string feedId)
{
return feedId switch
{
"vitrasa" or "tussa" or "tranvias" or "shuttle" or "ourense" => TransitKind.Bus,
"xunta" => TransitKind.Coach,
"renfe" => TransitKind.Train,
_ => TransitKind.Unknown
};
}
public static string StringByFeed(string feedId)
{
var kind = KindByFeed(feedId);
return kind switch
{
TransitKind.Bus => "bus",
TransitKind.Coach => "coach",
TransitKind.Train => "train",
TransitKind.Unknown => "unknown",
_ => throw new ArgumentOutOfRangeException(nameof(kind), kind, null)
};
}
}
public enum TransitKind
{
[JsonStringEnumMemberName("bus")] Bus,
[JsonStringEnumMemberName("coach")] Coach,
[JsonStringEnumMemberName("train")] Train,
[JsonStringEnumMemberName("unknown")] Unknown
}
|