From 9ad882c2ef3c23a9059ae55d5fcf279686ef3f1e Mon Sep 17 00:00:00 2001 From: Daniel Schick Date: Mon, 11 Nov 2024 11:01:31 +0100 Subject: [PATCH] Fixed situation where end time was reset after from time left 24h window --- .../EditTimesAgencyIncomingControl.xaml.cs | 68 ++++++++----------- .../EditTimesAgencyOutgoingControl.xaml.cs | 44 ++++-------- .../EditTimesAgencyShiftingControl.xaml.cs | 50 ++++++-------- src/BreCalClient/EditTimesControl.xaml.cs | 34 ++++------ .../EditTimesTerminalControl.xaml.cs | 37 ++++------ 5 files changed, 94 insertions(+), 139 deletions(-) diff --git a/src/BreCalClient/EditTimesAgencyIncomingControl.xaml.cs b/src/BreCalClient/EditTimesAgencyIncomingControl.xaml.cs index ec38bf0..fd24e6b 100644 --- a/src/BreCalClient/EditTimesAgencyIncomingControl.xaml.cs +++ b/src/BreCalClient/EditTimesAgencyIncomingControl.xaml.cs @@ -4,7 +4,6 @@ using BreCalClient.misc.Model; using System; -using System.Runtime.Serialization; using System.Windows; using static BreCalClient.Extensions; @@ -97,47 +96,41 @@ namespace BreCalClient { message = ""; - if (this.datePickerETA.Value.IsTooOld() && (this.datePickerETA.Value != this.Times.EtaBerth)) - { - message = BreCalClient.Resources.Resources.textETAInThePast; - return false; - } - - if(this.datePickerETA_End.Value.IsTooOld() && (this.datePickerETA_End.Value != this.Times.EtaIntervalEnd)) - { - message = BreCalClient.Resources.Resources.textETAInThePast; - return false; - } - - if(this.datePickerETA.Value.HasValue && this.datePickerETA_End.Value.HasValue && this.datePickerETA.Value > this.datePickerETA_End.Value) + if ((this.datePickerETA.Value != this.Times.EtaBerth) || (this.datePickerETA_End.Value != this.Times.EtaBerth)) // something has changed { - message = BreCalClient.Resources.Resources.textEndValueBeforeStartValue; - return false; + if (datePickerETA.Value.IsTooOld() || datePickerETA_End.Value.IsTooOld()) + { + message = BreCalClient.Resources.Resources.textETAInThePast; + return false; + } + + if (this.datePickerETA.Value.HasValue && this.datePickerETA_End.Value.HasValue && this.datePickerETA.Value > this.datePickerETA_End.Value) + { + message = BreCalClient.Resources.Resources.textEndValueBeforeStartValue; + return false; + } } - if (this.datePickerTidalWindowFrom.Value.IsTooOld() && (this.datePickerTidalWindowTo.Value == null) && (this.datePickerTidalWindowFrom.Value != this.ShipcallModel.Shipcall?.TidalWindowFrom)) + if((this.datePickerTidalWindowFrom.Value != this.ShipcallModel.Shipcall?.TidalWindowFrom) || (this.datePickerTidalWindowTo.Value != this.ShipcallModel.Shipcall?.TidalWindowTo)) // something has changed { - message = BreCalClient.Resources.Resources.textTideTimesInThePast; - return false; - } + if(datePickerTidalWindowTo.Value.IsTooOld() || this.datePickerTidalWindowFrom.Value.IsTooOld()) + { + message = BreCalClient.Resources.Resources.textTideTimesInThePast; + return false; + } - if (this.datePickerTidalWindowTo.Value.IsTooOld() && (this.datePickerTidalWindowTo.Value != this.ShipcallModel.Shipcall?.TidalWindowTo)) - { - message = BreCalClient.Resources.Resources.textTideTimesInThePast; - return false; - } + if (this.datePickerTidalWindowFrom.Value.HasValue && this.datePickerTidalWindowTo.Value.HasValue && this.datePickerTidalWindowFrom.Value > this.datePickerTidalWindowTo.Value) + { + message = BreCalClient.Resources.Resources.textEndValueBeforeStartValue; + return false; + } - if (this.datePickerTidalWindowFrom.Value.HasValue && this.datePickerTidalWindowTo.Value.HasValue && this.datePickerTidalWindowFrom.Value > this.datePickerTidalWindowTo.Value) - { - message = BreCalClient.Resources.Resources.textEndValueBeforeStartValue; - return false; - } - - if((this.datePickerTidalWindowFrom.Value.HasValue && !this.datePickerTidalWindowTo.Value.HasValue) || (!this.datePickerTidalWindowFrom.Value.HasValue && this.datePickerTidalWindowTo.Value.HasValue)) - { - message = BreCalClient.Resources.Resources.textTidalBothValues; - return false; - } + if ((this.datePickerTidalWindowFrom.Value.HasValue && !this.datePickerTidalWindowTo.Value.HasValue) || (!this.datePickerTidalWindowFrom.Value.HasValue && this.datePickerTidalWindowTo.Value.HasValue)) + { + message = BreCalClient.Resources.Resources.textTidalBothValues; + return false; + } + } if(this.datePickerETA.Value.IsTooFar() || this.datePickerETA_End.Value.IsTooFar() || this.datePickerTidalWindowFrom.Value.IsTooFar() || this.datePickerTidalWindowTo.Value.IsTooFar()) { @@ -145,8 +138,7 @@ namespace BreCalClient return false; } - if((this.datePickerETA_End.Value.HasValue && !this.datePickerETA.Value.HasValue) || - (this.datePickerTidalWindowTo.Value.HasValue && !this.datePickerTidalWindowFrom.Value.HasValue)) + if((this.datePickerETA_End.Value.HasValue && !this.datePickerETA.Value.HasValue) || (this.datePickerTidalWindowTo.Value.HasValue && !this.datePickerTidalWindowFrom.Value.HasValue)) { message = BreCalClient.Resources.Resources.textStartTimeMissing; return false; diff --git a/src/BreCalClient/EditTimesAgencyOutgoingControl.xaml.cs b/src/BreCalClient/EditTimesAgencyOutgoingControl.xaml.cs index fee20b6..04af41e 100644 --- a/src/BreCalClient/EditTimesAgencyOutgoingControl.xaml.cs +++ b/src/BreCalClient/EditTimesAgencyOutgoingControl.xaml.cs @@ -4,15 +4,8 @@ using BreCalClient.misc.Model; using System; -using System.Text.RegularExpressions; using System.Windows; -using System.Windows.Controls.Primitives; -using System.Windows.Controls; -using Xceed.Wpf.Toolkit; using static BreCalClient.Extensions; -using System.Collections.Generic; -using System.Linq; -using System.Windows.Media; namespace BreCalClient { @@ -107,17 +100,14 @@ namespace BreCalClient { message = ""; - if (this.datePickerETD.Value.IsTooOld() && (this.datePickerETD.Value != this.Times.EtdBerth)) + if((this.datePickerETD.Value != this.Times.EtdBerth) || (this.datePickerETD_End.Value != this.Times.EtdIntervalEnd)) { - message = BreCalClient.Resources.Resources.textETDInThePast; - return false; - } - - if (this.datePickerETD_End.Value.IsTooOld() && (this.datePickerETD_End.Value != this.Times.EtdIntervalEnd)) - { - message = BreCalClient.Resources.Resources.textETDInThePast; - return false; - } + if (datePickerETD.Value.IsTooOld() || datePickerETD_End.Value.IsTooOld()) + { + message = BreCalClient.Resources.Resources.textETDInThePast; + return false; + } + } if (this.datePickerETD.Value.HasValue && this.datePickerETD_End.Value.HasValue && this.datePickerETD.Value > this.datePickerETD_End.Value) { @@ -125,17 +115,14 @@ namespace BreCalClient return false; } - if (this.datePickerTidalWindowFrom.Value.IsTooOld() && (this.datePickerTidalWindowTo.Value == null) && (this.datePickerTidalWindowFrom.Value != this.ShipcallModel.Shipcall?.TidalWindowFrom)) + if((this.datePickerTidalWindowFrom.Value != this.ShipcallModel.Shipcall?.TidalWindowFrom) || (this.datePickerTidalWindowTo.Value != this.ShipcallModel.Shipcall?.TidalWindowTo)) { - message = BreCalClient.Resources.Resources.textTideTimesInThePast; - return false; - } - - if (this.datePickerTidalWindowTo.Value.IsTooOld() && (this.datePickerTidalWindowTo.Value != this.ShipcallModel.Shipcall?.TidalWindowTo)) - { - message = BreCalClient.Resources.Resources.textTideTimesInThePast; - return false; - } + if (this.datePickerTidalWindowTo.Value.IsTooOld() || this.datePickerTidalWindowFrom.Value.IsTooOld()) + { + message = BreCalClient.Resources.Resources.textTideTimesInThePast; + return false; + } + } if (this.datePickerTidalWindowFrom.Value.HasValue && this.datePickerTidalWindowTo.Value.HasValue && this.datePickerTidalWindowFrom.Value > this.datePickerTidalWindowTo.Value) { @@ -155,8 +142,7 @@ namespace BreCalClient return false; } - if((this.datePickerETD_End.Value.HasValue && !this.datePickerETD.Value.HasValue) || - (this.datePickerTidalWindowTo.Value.HasValue && !this.datePickerTidalWindowFrom.Value.HasValue)) + if((this.datePickerETD_End.Value.HasValue && !this.datePickerETD.Value.HasValue) || (this.datePickerTidalWindowTo.Value.HasValue && !this.datePickerTidalWindowFrom.Value.HasValue)) { message = BreCalClient.Resources.Resources.textStartTimeMissing; return false; diff --git a/src/BreCalClient/EditTimesAgencyShiftingControl.xaml.cs b/src/BreCalClient/EditTimesAgencyShiftingControl.xaml.cs index 4a78eb9..5495560 100644 --- a/src/BreCalClient/EditTimesAgencyShiftingControl.xaml.cs +++ b/src/BreCalClient/EditTimesAgencyShiftingControl.xaml.cs @@ -97,17 +97,15 @@ namespace BreCalClient { message = ""; - if (this.datePickerETA.Value.IsTooOld() && (this.datePickerETA.Value != this.Times.EtaBerth)) - { - message = BreCalClient.Resources.Resources.textETAInThePast; - return false; - } - if (this.datePickerETA_End.Value.IsTooOld() && (this.datePickerETA_End.Value != this.Times.EtaIntervalEnd)) + if((this.datePickerETA.Value != this.Times.EtaBerth) || (this.datePickerETA_End.Value != this.Times.EtaIntervalEnd)) { - message = BreCalClient.Resources.Resources.textETAInThePast; - return false; - } + if (this.datePickerETA.Value.IsTooOld() && this.datePickerETA_End.Value.IsTooOld()) + { + message = BreCalClient.Resources.Resources.textETAInThePast; + return false; + } + } if (this.datePickerETA.Value.HasValue && this.datePickerETA_End.Value.HasValue && this.datePickerETA.Value > this.datePickerETA_End.Value) { @@ -115,17 +113,14 @@ namespace BreCalClient return false; } - if (this.datePickerETD.Value.IsTooOld() && (this.datePickerETD.Value != this.Times.EtdBerth)) + if((this.datePickerETD.Value != this.Times.EtdBerth) || (this.datePickerETD_End.Value != this.Times.EtdIntervalEnd)) { - message = BreCalClient.Resources.Resources.textETDInThePast; - return false; - } - - if (this.datePickerETD_End.Value.IsTooOld() && (this.datePickerETD_End.Value != this.Times.EtdIntervalEnd)) - { - message = BreCalClient.Resources.Resources.textETDInThePast; - return false; - } + if (this.datePickerETD.Value.IsTooOld() || this.datePickerETD_End.Value.IsTooOld()) + { + message = BreCalClient.Resources.Resources.textETDInThePast; + return false; + } + } if (this.datePickerETD.Value.HasValue && this.datePickerETD_End.Value.HasValue && this.datePickerETD.Value > this.datePickerETD_End.Value) { @@ -133,17 +128,14 @@ namespace BreCalClient return false; } - if (this.datePickerTidalWindowFrom.Value.IsTooOld() && (this.datePickerTidalWindowTo.Value == null) && (this.datePickerTidalWindowFrom.Value != this.ShipcallModel.Shipcall?.TidalWindowFrom)) + if((this.datePickerTidalWindowFrom.Value != this.ShipcallModel.Shipcall?.TidalWindowFrom) || (this.datePickerTidalWindowTo.Value != this.ShipcallModel.Shipcall?.TidalWindowTo)) { - message = BreCalClient.Resources.Resources.textTideTimesInThePast; - return false; - } - - if (this.datePickerTidalWindowTo.Value.IsTooOld() && (this.datePickerTidalWindowTo.Value != this.ShipcallModel.Shipcall?.TidalWindowTo)) - { - message = BreCalClient.Resources.Resources.textTideTimesInThePast; - return false; - } + if (this.datePickerTidalWindowFrom.Value.IsTooOld() && this.datePickerTidalWindowTo.Value.IsTooOld()) + { + message = BreCalClient.Resources.Resources.textTideTimesInThePast; + return false; + } + } if (this.datePickerTidalWindowFrom.Value.HasValue && this.datePickerTidalWindowTo.Value.HasValue && this.datePickerTidalWindowFrom.Value > this.datePickerTidalWindowTo.Value) { diff --git a/src/BreCalClient/EditTimesControl.xaml.cs b/src/BreCalClient/EditTimesControl.xaml.cs index 89bdd8d..1e256e3 100644 --- a/src/BreCalClient/EditTimesControl.xaml.cs +++ b/src/BreCalClient/EditTimesControl.xaml.cs @@ -5,7 +5,6 @@ using BreCalClient.misc.Model; using System; -using System.Runtime.Serialization; using System.Windows; using System.Windows.Media.Imaging; using Xceed.Wpf.Toolkit; @@ -99,16 +98,13 @@ namespace BreCalClient message = ""; - if (this.datePickerETABerth.Value.IsTooOld() && (this.datePickerETABerth_End.Value == null) && (this.datePickerETABerth.Value != this.Times.EtaBerth)) + if ((this.datePickerETABerth.Value != this.Times.EtaBerth) || (this.datePickerETABerth_End.Value != this.Times.EtaIntervalEnd)) { - message = BreCalClient.Resources.Resources.textETAInThePast; - return false; - } - - if (this.datePickerETABerth_End.Value.IsTooOld() && this.datePickerETABerth_End.Value != this.Times.EtaIntervalEnd) - { - message = BreCalClient.Resources.Resources.textETAInThePast; - return false; + if (this.datePickerETABerth.Value.IsTooOld() || this.datePickerETABerth_End.Value.IsTooOld()) + { + message = BreCalClient.Resources.Resources.textETAInThePast; + return false; + } } if (this.datePickerETABerth.Value.HasValue && this.datePickerETABerth_End.Value.HasValue && this.datePickerETABerth.Value > this.datePickerETABerth_End.Value) @@ -117,16 +113,13 @@ namespace BreCalClient return false; } - if (this.datePickerETDBerth.Value.IsTooOld() && (this.datePickerETDBerth_End.Value == null) && (this.datePickerETDBerth.Value != this.Times.EtdBerth)) + if((this.datePickerETDBerth.Value != this.Times.EtdBerth) || (this.datePickerETDBerth_End.Value != this.Times.EtdIntervalEnd)) { - message = BreCalClient.Resources.Resources.textETDInThePast; - return false; - } - - if (this.datePickerETDBerth_End.Value.IsTooOld() && this.datePickerETDBerth_End.Value != this.Times.EtdIntervalEnd) - { - message = BreCalClient.Resources.Resources.textETDInThePast; - return false; + if(this.datePickerETDBerth.Value.IsTooOld() || this.datePickerETDBerth_End.Value.IsTooOld()) + { + message = BreCalClient.Resources.Resources.textETDInThePast; + return false; + } } if (this.datePickerETDBerth.Value.HasValue && this.datePickerETDBerth_End.Value.HasValue && this.datePickerETDBerth.Value > this.datePickerETDBerth_End.Value) @@ -154,8 +147,7 @@ namespace BreCalClient return false; } - if((this.datePickerETABerth_End.Value.HasValue && !this.datePickerETABerth.Value.HasValue) || - (this.datePickerETDBerth_End.Value.HasValue && !this.datePickerETDBerth.Value.HasValue)) + if((this.datePickerETABerth_End.Value.HasValue && !this.datePickerETABerth.Value.HasValue) || (this.datePickerETDBerth_End.Value.HasValue && !this.datePickerETDBerth.Value.HasValue)) { message = BreCalClient.Resources.Resources.textStartTimeMissing; return false; diff --git a/src/BreCalClient/EditTimesTerminalControl.xaml.cs b/src/BreCalClient/EditTimesTerminalControl.xaml.cs index fe9e363..368a024 100644 --- a/src/BreCalClient/EditTimesTerminalControl.xaml.cs +++ b/src/BreCalClient/EditTimesTerminalControl.xaml.cs @@ -108,17 +108,14 @@ namespace BreCalClient message = ""; - if (this.datePickerOperationStart.Value.IsTooOld() && (this.datePickerOperationStart_End.Value == null) && (this.datePickerOperationStart.Value != this.Times.OperationsStart)) + if((this.datePickerOperationStart.Value != this.Times.OperationsStart) || (this.datePickerOperationStart_End.Value != this.Times.EtaIntervalEnd)) { - message = BreCalClient.Resources.Resources.textOperationStartInThePast; - return false; - } - - if (this.datePickerOperationStart_End.Value.IsTooOld() && (this.datePickerOperationStart_End.Value != this.Times.EtaIntervalEnd)) - { - message = BreCalClient.Resources.Resources.textOperationStartInThePast; - return false; - } + if(this.datePickerOperationStart.Value.IsTooOld() || this.datePickerOperationStart_End.Value.IsTooOld()) + { + message = BreCalClient.Resources.Resources.textOperationStartInThePast; + return false; + } + } if (this.datePickerOperationStart.Value.HasValue && this.datePickerOperationStart_End.Value.HasValue && this.datePickerOperationStart.Value > this.datePickerOperationStart_End.Value) { @@ -126,17 +123,14 @@ namespace BreCalClient return false; } - if (this.datePickerOperationEnd.Value.IsTooOld() && (this.datePickerOperationEnd_End.Value == null) && (this.datePickerOperationEnd.Value != this.Times.OperationsEnd)) + if ((this.datePickerOperationEnd.Value != this.Times.OperationsEnd) || (this.datePickerOperationEnd_End.Value != this.Times.EtdIntervalEnd)) { - message = BreCalClient.Resources.Resources.textOperationEndInThePast; - return false; - } - - if (this.datePickerOperationEnd_End.Value.IsTooOld() && (this.datePickerOperationEnd_End.Value != this.Times.EtdIntervalEnd)) - { - message = BreCalClient.Resources.Resources.textOperationEndInThePast; - return false; - } + if(this.datePickerOperationEnd.Value.IsTooOld() || this.datePickerOperationEnd_End.Value.IsTooOld()) + { + message = BreCalClient.Resources.Resources.textOperationEndInThePast; + return false; + } + } if (this.datePickerOperationEnd.Value.HasValue && this.datePickerOperationEnd_End.Value.HasValue && this.datePickerOperationEnd.Value > this.datePickerOperationEnd_End.Value) { @@ -150,8 +144,7 @@ namespace BreCalClient return false; } - if((this.datePickerOperationEnd_End.Value.HasValue && !this.datePickerOperationEnd.Value.HasValue) || - (this.datePickerOperationStart_End.Value.HasValue && !this.datePickerOperationStart.Value.HasValue)) + if((this.datePickerOperationEnd_End.Value.HasValue && !this.datePickerOperationEnd.Value.HasValue) || (this.datePickerOperationStart_End.Value.HasValue && !this.datePickerOperationStart.Value.HasValue)) { message = BreCalClient.Resources.Resources.textStartTimeMissing; return false;