aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Enmarcha.Backend/Helpers/SortingHelper.cs20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/Enmarcha.Backend/Helpers/SortingHelper.cs b/src/Enmarcha.Backend/Helpers/SortingHelper.cs
index e2267af..fe39521 100644
--- a/src/Enmarcha.Backend/Helpers/SortingHelper.cs
+++ b/src/Enmarcha.Backend/Helpers/SortingHelper.cs
@@ -49,9 +49,15 @@ public class SortingHelper
var feed = routeId?.Split(':')[0];
- if (feed == "vitrasa")
+ if (feed is "vitrasa" or "tussa")
{
- int group = GetVitrasaRouteGroup(shortName);
+ int group = feed switch
+ {
+ "vitrasa" => GetVitrasaRouteGroup(shortName),
+ "tussa" => GetTussaRouteGroup(shortName),
+ _ => throw new ArgumentOutOfRangeException()
+ };
+
// For "Others" group, sub-sort by alphabetic prefix to keep N*, PSA*, U* etc. grouped
string prefix = group == 3 ? ExtractAlphaPrefix(shortName) : "";
int number = ExtractNumber(shortName);
@@ -110,6 +116,16 @@ public class SortingHelper
return 1;
}
+ private static int GetTussaRouteGroup(string shortName)
+ {
+ if (shortName[0] == 'C')
+ {
+ return 1;
+ }
+
+ return 0;
+ }
+
private static int ExtractNumber(string name)
{
var digits = new string(name.Where(char.IsDigit).ToArray());