From f0fa9285affd6b1fd511dab7b618a8211cff6acb Mon Sep 17 00:00:00 2001 From: Daniel Schick Date: Fri, 10 Nov 2023 11:46:43 +0100 Subject: [PATCH] fixed ETA/ETD sorting by taking agency values into account --- src/BreCalClient/MainWindow.xaml.cs | 4 ++-- src/BreCalClient/ShipcallControlModel.cs | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/BreCalClient/MainWindow.xaml.cs b/src/BreCalClient/MainWindow.xaml.cs index c9e49ae..78ddde6 100644 --- a/src/BreCalClient/MainWindow.xaml.cs +++ b/src/BreCalClient/MainWindow.xaml.cs @@ -534,8 +534,8 @@ namespace BreCalClient { if (x.Shipcall == null) return 0; if (y.Shipcall == null) return 0; - DateTime xDate = (x.Shipcall.Type == (int) Extensions.TypeEnum.Incoming) ? x.Shipcall.Eta ?? DateTime.Now : x.Shipcall.Etd ?? DateTime.Now; - DateTime yDate = (y.Shipcall.Type == (int) Extensions.TypeEnum.Incoming) ? y.Shipcall.Eta ?? DateTime.Now : y.Shipcall.Etd ?? DateTime.Now; + DateTime xDate = (x.Shipcall.Type == (int) Extensions.TypeEnum.Incoming) ? x.Eta ?? DateTime.Now : x.Etd ?? DateTime.Now; + DateTime yDate = (y.Shipcall.Type == (int) Extensions.TypeEnum.Incoming) ? y.Eta ?? DateTime.Now : y.Etd ?? DateTime.Now; return DateTime.Compare(xDate, yDate); }); break; diff --git a/src/BreCalClient/ShipcallControlModel.cs b/src/BreCalClient/ShipcallControlModel.cs index 64610ba..707c1cc 100644 --- a/src/BreCalClient/ShipcallControlModel.cs +++ b/src/BreCalClient/ShipcallControlModel.cs @@ -52,6 +52,28 @@ namespace BreCalClient public List Times { get; set; } = new(); + public DateTime? Eta + { + get + { + Times? agencyTimes = this.GetTimesForParticipantType(Extensions.ParticipantType.AGENCY); + if((agencyTimes != null) && (agencyTimes.EtaBerth != null)) + return agencyTimes.EtaBerth; + return Shipcall?.Eta; + } + } + + public DateTime? Etd + { + get + { + Times? agencyTimes = this.GetTimesForParticipantType(Extensions.ParticipantType.AGENCY); + if ((agencyTimes != null) && (agencyTimes.EtdBerth != null)) + return agencyTimes.EtdBerth; + return Shipcall?.Etd; + } + } + public TrafficLightMode LightMode { get