From 66758ffaa4238191010ccc3dde7e5cdc6445f315 Mon Sep 17 00:00:00 2001 From: Ariel Costas Guerrero Date: Thu, 6 Nov 2025 18:01:14 +0100 Subject: Seemingly fix algorithm (thanks copilot) --- .../Types/ConsolidatedCirculation.cs | 32 ++++++++++++++++++++++ .../Types/VigoSchedules.cs | 9 +++++- 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 src/Costasdev.Busurbano.Backend/Types/ConsolidatedCirculation.cs (limited to 'src/Costasdev.Busurbano.Backend/Types') diff --git a/src/Costasdev.Busurbano.Backend/Types/ConsolidatedCirculation.cs b/src/Costasdev.Busurbano.Backend/Types/ConsolidatedCirculation.cs new file mode 100644 index 0000000..d65da61 --- /dev/null +++ b/src/Costasdev.Busurbano.Backend/Types/ConsolidatedCirculation.cs @@ -0,0 +1,32 @@ +namespace Costasdev.Busurbano.Backend.Types; + +public class ConsolidatedCirculation +{ + public required string Line { get; set; } + public required string Route { get; set; } + + public ScheduleData? Schedule { get; set; } + public RealTimeData? RealTime { get; set; } +} + +public class RealTimeData +{ + public required int Minutes { get; set; } + public required int Distance { get; set; } + public required RealTimeConfidence Confidence { get; set; } +} + +public class ScheduleData +{ + public bool Running { get; set; } + public required int Minutes { get; set; } + public required string ServiceId { get; set; } + public required string TripId { get; set; } +} + +public enum RealTimeConfidence +{ + NotApplicable = 0, + Low = 1, + High = 2 +} diff --git a/src/Costasdev.Busurbano.Backend/Types/VigoSchedules.cs b/src/Costasdev.Busurbano.Backend/Types/VigoSchedules.cs index f8e5634..25fc34f 100644 --- a/src/Costasdev.Busurbano.Backend/Types/VigoSchedules.cs +++ b/src/Costasdev.Busurbano.Backend/Types/VigoSchedules.cs @@ -14,9 +14,17 @@ public class ScheduledStop public required double ShapeDistTraveled { get; set; } [JsonPropertyName("next_streets")] public required string[] NextStreets { get; set; } + [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() + { + var dt = DateTime.Today + TimeOnly.Parse(StartingTime).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() { @@ -24,7 +32,6 @@ public class ScheduledStop return dt.AddSeconds(60 - dt.Second); } - [JsonPropertyName("calling_ssm")] public required int CallingSsm { get; set; } [JsonPropertyName("terminus_code")] public required string TerminusCode { get; set; } [JsonPropertyName("terminus_name")] public required string TerminusName { get; set; } [JsonPropertyName("terminus_time")] public required string TerminusTime { get; set; } -- cgit v1.3