From a304c24b32c0327436bbd8c2853e60668e161b42 Mon Sep 17 00:00:00 2001 From: Ariel Costas Guerrero Date: Mon, 29 Dec 2025 00:41:52 +0100 Subject: Rename a lot of stuff, add Santiago real time --- .../Extensions/StopScheduleExtensions.cs | 58 ---------------------- 1 file changed, 58 deletions(-) delete mode 100644 src/Costasdev.Busurbano.Backend/Extensions/StopScheduleExtensions.cs (limited to 'src/Costasdev.Busurbano.Backend/Extensions') diff --git a/src/Costasdev.Busurbano.Backend/Extensions/StopScheduleExtensions.cs b/src/Costasdev.Busurbano.Backend/Extensions/StopScheduleExtensions.cs deleted file mode 100644 index b435158..0000000 --- a/src/Costasdev.Busurbano.Backend/Extensions/StopScheduleExtensions.cs +++ /dev/null @@ -1,58 +0,0 @@ -using static Costasdev.Busurbano.Backend.Types.StopArrivals.Types; - -namespace Costasdev.Busurbano.Backend.Extensions; - -public static class StopScheduleExtensions -{ - public static DateTime? StartingDateTime(this ScheduledArrival stop, DateTime baseDate) - { - return ParseGtfsTime(stop.StartingTime, baseDate); - } - - public static DateTime? CallingDateTime(this ScheduledArrival stop, DateTime baseDate) - { - return ParseGtfsTime(stop.CallingTime, baseDate); - } - - /// - /// Parse GTFS time format (HH:MM:SS) which can have hours >= 24 for services past midnight - /// - private static DateTime? ParseGtfsTime(string timeStr, DateTime baseDate) - { - if (string.IsNullOrWhiteSpace(timeStr)) - { - return null; - } - - var parts = timeStr.Split(':'); - if (parts.Length != 3) - { - return null; - } - - if (!int.TryParse(parts[0], out var hours) || - !int.TryParse(parts[1], out var minutes) || - !int.TryParse(parts[2], out var seconds)) - { - return null; - } - - // Handle GTFS times that exceed 24 hours (e.g., 25:30:00 for 1:30 AM next day) - var days = hours / 24; - var normalizedHours = hours % 24; - - try - { - var dt = baseDate - .AddDays(days) - .AddHours(normalizedHours) - .AddMinutes(minutes) - .AddSeconds(seconds); - return dt.AddSeconds(60 - dt.Second); - } - catch - { - return null; - } - } -} -- cgit v1.3