aboutsummaryrefslogtreecommitdiff
path: root/src/Costasdev.Busurbano.Backend/Types
diff options
context:
space:
mode:
authorCopilot <198982749+Copilot@users.noreply.github.com>2025-11-06 19:42:29 +0100
committerGitHub <noreply@github.com>2025-11-06 19:42:29 +0100
commit006201d8b9e5c4f8fd4547d5b0d67091d8df97f9 (patch)
tree53e7057993418701363baac44a40aa218d31a6c0 /src/Costasdev.Busurbano.Backend/Types
parentaae873518de96f9fd0acfd8c03d921dabf02a84a (diff)
Skip scheduled trips with unparseable GTFS times (#71)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: arielcostas <94913521+arielcostas@users.noreply.github.com>
Diffstat (limited to 'src/Costasdev.Busurbano.Backend/Types')
-rw-r--r--src/Costasdev.Busurbano.Backend/Types/ConsolidatedCirculation.cs2
-rw-r--r--src/Costasdev.Busurbano.Backend/Types/VigoSchedules.cs18
2 files changed, 14 insertions, 6 deletions
diff --git a/src/Costasdev.Busurbano.Backend/Types/ConsolidatedCirculation.cs b/src/Costasdev.Busurbano.Backend/Types/ConsolidatedCirculation.cs
index ed2374f..7cc79c0 100644
--- a/src/Costasdev.Busurbano.Backend/Types/ConsolidatedCirculation.cs
+++ b/src/Costasdev.Busurbano.Backend/Types/ConsolidatedCirculation.cs
@@ -1,4 +1,4 @@
-namespace Costasdev.Busurbano.Backend.Types;
+namespace Costasdev.Busurbano.Backend.Types;
public class ConsolidatedCirculation
{
diff --git a/src/Costasdev.Busurbano.Backend/Types/VigoSchedules.cs b/src/Costasdev.Busurbano.Backend/Types/VigoSchedules.cs
index 25fc34f..76c8fa1 100644
--- a/src/Costasdev.Busurbano.Backend/Types/VigoSchedules.cs
+++ b/src/Costasdev.Busurbano.Backend/Types/VigoSchedules.cs
@@ -1,4 +1,4 @@
-using System.Text.Json.Serialization;
+using System.Text.Json.Serialization;
namespace Costasdev.Busurbano.Backend.Types;
@@ -18,17 +18,25 @@ public class ScheduledStop
[JsonPropertyName("starting_code")] public required string StartingCode { get; set; }
[JsonPropertyName("starting_name")] public required string StartingName { get; set; }
[JsonPropertyName("starting_time")] public required string StartingTime { get; set; }
- public DateTime StartingDateTime()
+ public DateTime? StartingDateTime()
{
- var dt = DateTime.Today + TimeOnly.Parse(StartingTime).ToTimeSpan();
+ if (!TimeOnly.TryParse(StartingTime, out var time))
+ {
+ return null;
+ }
+ var dt = DateTime.Today + time.ToTimeSpan();
return dt.AddSeconds(60 - dt.Second);
}
[JsonPropertyName("calling_ssm")] public required int CallingSsm { get; set; }
[JsonPropertyName("calling_time")] public required string CallingTime { get; set; }
- public DateTime CallingDateTime()
+ public DateTime? CallingDateTime()
{
- var dt = DateTime.Today + TimeOnly.Parse(CallingTime).ToTimeSpan();
+ if (!TimeOnly.TryParse(CallingTime, out var time))
+ {
+ return null;
+ }
+ var dt = DateTime.Today + time.ToTimeSpan();
return dt.AddSeconds(60 - dt.Second);
}