diff --git a/CRSim/ViewModels/Windows/ScreenViewModel.cs b/CRSim/ViewModels/Windows/ScreenViewModel.cs index d5d2dca..79dce1b 100644 --- a/CRSim/ViewModels/Windows/ScreenViewModel.cs +++ b/CRSim/ViewModels/Windows/ScreenViewModel.cs @@ -69,27 +69,14 @@ namespace CRSim.ViewModels TrainNumber = trainNumber.Number, Terminal = trainNumber.Terminal, Origin = trainNumber.Origin, - ArrivalTime = trainNumber.ArrivalTime, - DepartureTime = trainNumber.DepartureTime ?? DateTime.MinValue, + ArrivalTime = trainNumber.ArrivalTime == null ? null : trainNumber.DepartureTime.Value < _timeService.GetDateTimeNow() ? trainNumber.ArrivalTime.Value.AddDays(1) : trainNumber.ArrivalTime.Value, + DepartureTime = trainNumber.DepartureTime.Value < _timeService.GetDateTimeNow() ? trainNumber.DepartureTime.Value.AddDays(1) : trainNumber.DepartureTime.Value, TicketChecks = trainNumber.TicketChecks, WaitingArea = station.WaitingAreas.Where(x => x.TicketChecks.Intersect(trainNumber.TicketChecks).ToList().Count!=0).FirstOrDefault().Name, Platform = trainNumber.Platform, Landmark = trainNumber.Landmark, State = TimeSpan.Zero }); - TrainInfo.Add(new TrainInfo - { - TrainNumber = trainNumber.Number, - Terminal = trainNumber.Terminal, - Origin = trainNumber.Origin, - ArrivalTime = trainNumber.ArrivalTime?.AddDays(1), - DepartureTime = (trainNumber.DepartureTime ?? DateTime.MinValue).AddDays(1), - TicketChecks = trainNumber.TicketChecks, - WaitingArea = station.WaitingAreas.Where(x => x.TicketChecks.Intersect(trainNumber.TicketChecks).ToList().Count != 0).FirstOrDefault().Name, - Platform = trainNumber.Platform, - Landmark= trainNumber.Landmark, - State = TimeSpan.Zero - }); } } TrainInfo = [.. TrainInfo.OrderBy(x => x.DepartureTime)]; diff --git a/CRSim/ViewModels/Windows/Stations/ChengduMetro/PlatformScreenViewModel.cs b/CRSim/ViewModels/Windows/Stations/ChengduMetro/PlatformScreenViewModel.cs index d01cd5d..a83c2c4 100644 --- a/CRSim/ViewModels/Windows/Stations/ChengduMetro/PlatformScreenViewModel.cs +++ b/CRSim/ViewModels/Windows/Stations/ChengduMetro/PlatformScreenViewModel.cs @@ -28,16 +28,8 @@ { TrainNumber = trainNumber.Number, Terminal = trainNumber.Terminal, - ArrivalTime = trainNumber.ArrivalTime, - DepartureTime = trainNumber.DepartureTime ?? DateTime.MinValue, - State = TimeSpan.Zero - }); - TrainInfos.Add(new TrainInfo - { - TrainNumber = trainNumber.Number, - Terminal = trainNumber.Terminal, - ArrivalTime = trainNumber.ArrivalTime?.AddDays(1), - DepartureTime = (trainNumber.DepartureTime ?? DateTime.MinValue).AddDays(1), + ArrivalTime = trainNumber.ArrivalTime == null ? null : trainNumber.DepartureTime.Value < _timeService.GetDateTimeNow() ? trainNumber.ArrivalTime.Value.AddDays(1) : trainNumber.ArrivalTime.Value, + DepartureTime = trainNumber.DepartureTime.Value < _timeService.GetDateTimeNow() ? trainNumber.DepartureTime.Value.AddDays(1) : trainNumber.DepartureTime.Value, State = TimeSpan.Zero }); }