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 --- .../Views/Services/DaysInFeed.cshtml | 22 ++++++++ .../Views/Services/DaysInFeed.cshtml.cs | 7 +++ .../Views/Services/ServiceDetails.cshtml | 63 ++++++++++++++++++++++ .../Views/Services/ServiceDetails.cshtml.cs | 29 ++++++++++ .../Views/Services/ServicesInDay.cshtml | 40 ++++++++++++++ .../Views/Services/ServicesInDay.cshtml.cs | 39 ++++++++++++++ .../Views/Shared/_Layout.cshtml | 22 ++++++++ .../Views/_ViewImports.cshtml | 2 + .../Views/_ViewStart.cshtml | 3 ++ 9 files changed, 227 insertions(+) create mode 100644 src/Enmarcha.Experimental.ServiceViewer/Views/Services/DaysInFeed.cshtml create mode 100644 src/Enmarcha.Experimental.ServiceViewer/Views/Services/DaysInFeed.cshtml.cs create mode 100644 src/Enmarcha.Experimental.ServiceViewer/Views/Services/ServiceDetails.cshtml create mode 100644 src/Enmarcha.Experimental.ServiceViewer/Views/Services/ServiceDetails.cshtml.cs create mode 100644 src/Enmarcha.Experimental.ServiceViewer/Views/Services/ServicesInDay.cshtml create mode 100644 src/Enmarcha.Experimental.ServiceViewer/Views/Services/ServicesInDay.cshtml.cs create mode 100644 src/Enmarcha.Experimental.ServiceViewer/Views/Shared/_Layout.cshtml create mode 100644 src/Enmarcha.Experimental.ServiceViewer/Views/_ViewImports.cshtml create mode 100644 src/Enmarcha.Experimental.ServiceViewer/Views/_ViewStart.cshtml (limited to 'src/Enmarcha.Experimental.ServiceViewer/Views') diff --git a/src/Enmarcha.Experimental.ServiceViewer/Views/Services/DaysInFeed.cshtml b/src/Enmarcha.Experimental.ServiceViewer/Views/Services/DaysInFeed.cshtml new file mode 100644 index 0000000..4e252dc --- /dev/null +++ b/src/Enmarcha.Experimental.ServiceViewer/Views/Services/DaysInFeed.cshtml @@ -0,0 +1,22 @@ +@model Enmarcha.Experimental.ServiceViewer.Views.Services.DaysInFeedModel +@{ + ViewData["Title"] = "Fechas con datos"; +} + +@section Head +{ + +} + +
+

Fechas con datos

+
+ +
+ @foreach (var day in Model.Days) + { + + } +
diff --git a/src/Enmarcha.Experimental.ServiceViewer/Views/Services/DaysInFeed.cshtml.cs b/src/Enmarcha.Experimental.ServiceViewer/Views/Services/DaysInFeed.cshtml.cs new file mode 100644 index 0000000..e633fcb --- /dev/null +++ b/src/Enmarcha.Experimental.ServiceViewer/Views/Services/DaysInFeed.cshtml.cs @@ -0,0 +1,7 @@ +namespace Enmarcha.Experimental.ServiceViewer.Views.Services; + +public class DaysInFeedModel +{ + public List Days { get; set; } = []; + public DateOnly Today { get; set; } +} diff --git a/src/Enmarcha.Experimental.ServiceViewer/Views/Services/ServiceDetails.cshtml b/src/Enmarcha.Experimental.ServiceViewer/Views/Services/ServiceDetails.cshtml new file mode 100644 index 0000000..969e0dd --- /dev/null +++ b/src/Enmarcha.Experimental.ServiceViewer/Views/Services/ServiceDetails.cshtml @@ -0,0 +1,63 @@ +@using Enmarcha.Experimental.ServiceViewer.Data.Gtfs +@using Humanizer +@using Humanizer.Localisation +@model Enmarcha.Experimental.ServiceViewer.Views.Services.ServiceDetailsModel +@{ + ViewData["Title"] = Model.ServiceName; +} + +@section Head +{ + + + +} + +
+

@ViewData["Title"]

+
+ + + +
+ @foreach (ServiceDetailsItem item in Model.Items) + { +
+
+
@item.ShortName
+
@item.LongName
+
+ @item.TotalDistance +
+
+
+
+
@item.FirstStopTime
+
@item.FirstStopName
+
+
+
@item.LastStopTime
+
@item.LastStopName
+
+
+ +
+ } +
+ +
+ Tiempo de conducción: @Model.TotalDrivingTime.Hours horas y @Model.TotalDrivingTime.Minutes minutos.
+ Distancia total: @Model.TotalDistanceKm +
diff --git a/src/Enmarcha.Experimental.ServiceViewer/Views/Services/ServiceDetails.cshtml.cs b/src/Enmarcha.Experimental.ServiceViewer/Views/Services/ServiceDetails.cshtml.cs new file mode 100644 index 0000000..dbe7ad8 --- /dev/null +++ b/src/Enmarcha.Experimental.ServiceViewer/Views/Services/ServiceDetails.cshtml.cs @@ -0,0 +1,29 @@ +namespace Enmarcha.Experimental.ServiceViewer.Views.Services; + +public class ServiceDetailsModel +{ + public DateOnly Date { get; set; } + public string ServiceId { get; set; } = string.Empty; + public string ServiceName { get; set; } = string.Empty; + + public List Items { get; set; } = []; + public TimeSpan TotalDrivingTime { get; set; } + + public int TotalDistance { get; set; } + public string TotalDistanceKm => (TotalDistance / 1000.0).ToString("0.00 km"); +} + +public class ServiceDetailsItem +{ + public string TripId { get; set; } = string.Empty; + public string SafeRouteId { get; set; } = string.Empty; + public string ShortName { get; set; } = string.Empty; + public string LongName { get; set; } = string.Empty; + public string TotalDistance { get; set; } = string.Empty; + + public string FirstStopTime { get; set; } = string.Empty; + public string FirstStopName { get; set; } = string.Empty; + + public string LastStopTime { get; set; } = string.Empty; + public string LastStopName { get; set; } = string.Empty; +} diff --git a/src/Enmarcha.Experimental.ServiceViewer/Views/Services/ServicesInDay.cshtml b/src/Enmarcha.Experimental.ServiceViewer/Views/Services/ServicesInDay.cshtml new file mode 100644 index 0000000..2161410 --- /dev/null +++ b/src/Enmarcha.Experimental.ServiceViewer/Views/Services/ServicesInDay.cshtml @@ -0,0 +1,40 @@ +@model Enmarcha.Experimental.ServiceViewer.Views.Services.ServiceInDayModel +@{ + ViewData["Title"] = "Servicios a realizar en " + Model.Date.ToString("dd 'de' MMMM 'de' yyyy"); +} + +@section Head +{ + + +} + +
+

+ @ViewData["Title"] +

+
+ +
+ @foreach (ServicesInDayItem card in Model.Items) + { +
+
+ + @card.ServiceName + +
+
+ @card.ShiftStart → @card.ShiftEnd +
+
+ @foreach (var cardTripGroup in card.TripGroups) + { + + @cardTripGroup.route.ShortName (@cardTripGroup.count) + + } +
+
+ } +
diff --git a/src/Enmarcha.Experimental.ServiceViewer/Views/Services/ServicesInDay.cshtml.cs b/src/Enmarcha.Experimental.ServiceViewer/Views/Services/ServicesInDay.cshtml.cs new file mode 100644 index 0000000..6b55e64 --- /dev/null +++ b/src/Enmarcha.Experimental.ServiceViewer/Views/Services/ServicesInDay.cshtml.cs @@ -0,0 +1,39 @@ +using Enmarcha.Experimental.ServiceViewer.Data.Gtfs; + +namespace Enmarcha.Experimental.ServiceViewer.Views.Services; + +public class ServiceInDayModel +{ + public List Items { get; set; } = []; + public DateOnly Date { get; set; } +} + +public class ServicesInDayItem +{ + public string ServiceId { get; set; } + public string ServiceName { get; set; } + public List Trips { get; set; } + public List TripGroups { get; set; } + + public string ShiftStart { get; set; } + public string ShiftEnd { get; set; } + + public ServicesInDayItem( + string serviceId, + string serviceName, + List trips, + List tripGroups, + string shiftStart, + string shiftEnd + ) { + ServiceId = serviceId; + ServiceName = serviceName; + Trips = trips; + TripGroups = tripGroups; + + ShiftStart = shiftStart; + ShiftEnd = shiftEnd; + } +} + +public record TripGroup(GtfsRoute route, int count); diff --git a/src/Enmarcha.Experimental.ServiceViewer/Views/Shared/_Layout.cshtml b/src/Enmarcha.Experimental.ServiceViewer/Views/Shared/_Layout.cshtml new file mode 100644 index 0000000..88d5b83 --- /dev/null +++ b/src/Enmarcha.Experimental.ServiceViewer/Views/Shared/_Layout.cshtml @@ -0,0 +1,22 @@ + + + + + + + + + + + @ViewData["Title"] - VentaSync + + + + @await RenderSectionAsync("Head", required: false) + + + + +@RenderBody() + + diff --git a/src/Enmarcha.Experimental.ServiceViewer/Views/_ViewImports.cshtml b/src/Enmarcha.Experimental.ServiceViewer/Views/_ViewImports.cshtml new file mode 100644 index 0000000..2cbb86c --- /dev/null +++ b/src/Enmarcha.Experimental.ServiceViewer/Views/_ViewImports.cshtml @@ -0,0 +1,2 @@ +@using Enmarcha.Experimental.ServiceViewer.Views.Services +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers diff --git a/src/Enmarcha.Experimental.ServiceViewer/Views/_ViewStart.cshtml b/src/Enmarcha.Experimental.ServiceViewer/Views/_ViewStart.cshtml new file mode 100644 index 0000000..a5f1004 --- /dev/null +++ b/src/Enmarcha.Experimental.ServiceViewer/Views/_ViewStart.cshtml @@ -0,0 +1,3 @@ +@{ + Layout = "_Layout"; +} -- cgit v1.3