diff options
| -rw-r--r-- | src/Enmarcha.Backend/Helpers/SortingHelper.cs | 20 |
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()); |
