@page @using LinqToDB @using Microsoft.AspNetCore.Http @using Microsoft.AspNetCore.Http.Extensions @using Microsoft.AspNetCore.Mvc.TagHelpers @using trainav.web.Utils @using trainav.web.database @model IndexModel @{ ViewData["Title"] = "Home"; }

Welcome, @Model.AuthorizedUser.Username

Here are your planned trips.

@{ await using var db = new Database.DbConn(); var trips = db.Trips.Where(p => p.UserId == Model.AuthorizedUser.UserId).ToList(); foreach (var trip in trips.Where(trip => !db.Legs.Any(p => p.TripId == trip.TripId))) { await db.DeleteAsync(trip); trips = db.Trips.Where(p => p.UserId == Model.AuthorizedUser.UserId).ToList(); } foreach (var trip in trips.OrderBy(p => db.Legs.Where(a => a.TripId == p.TripId).OrderBy(leg => leg.DepTime).First().DepTime)) { var legs = db.Legs.Where(p => p.TripId == trip.TripId).OrderBy(p => p.DepTime).ToList(); } }
Origin Via Destination Comments Actions
@legs.First().DepStation.Delimit(30)
@DateTime.Parse(legs.First().DepTime).ToString("ddd dd.MM.yyyy, HH:mm")
@((from index in from leg in legs where leg.TrainType == "placeholder" select legs.IndexOf(leg) select legs[index - 1].ArrStation.Delimit(30)).ToList().DefaultIfEmpty("-").Aggregate((s1, s2) => $"{s1}, {s2}")) @legs.Last().ArrStation.Delimit(30)
@DateTime.Parse(legs.Last().ArrTime).ToString("ddd dd.MM.yyyy, HH:mm")
@Html.Raw(legs.Where(leg => !string.IsNullOrWhiteSpace(leg.Comment)).Select(p => p.Comment.Replace(", ", "
")).DefaultIfEmpty("").Aggregate((s1, s2) => $"{s1}
{s2}"))
View   Delete

Add trip from ticket



Add trip from oeffisear.ch or transit.ztn.sh