diff --git a/src/BreCalClient/EditShipcallControl.xaml.cs b/src/BreCalClient/EditShipcallControl.xaml.cs
index 745151b..fd42086 100644
--- a/src/BreCalClient/EditShipcallControl.xaml.cs
+++ b/src/BreCalClient/EditShipcallControl.xaml.cs
@@ -207,12 +207,14 @@ namespace BreCalClient
isEnabled &= this.datePickerETD.Value.HasValue;
if(this.datePickerETD.Value.HasValue)
isEnabled &= (this.datePickerETD.Value.Value > DateTime.Now);
+ isEnabled &= !this.datePickerETD.Value.IsTooFar();
break;
case ShipcallType.Arrival:
isEnabled &= this.comboBoxArrivalBerth.SelectedItem != null;
isEnabled &= this.datePickerETA.Value.HasValue;
if(this.datePickerETA.Value.HasValue)
isEnabled &= (this.datePickerETA.Value.Value > DateTime.Now);
+ isEnabled &= !this.datePickerETA.Value.IsTooFar();
break;
case ShipcallType.Shifting:
isEnabled &= ((this.comboBoxDepartureBerth.SelectedItem != null) && (this.comboBoxArrivalBerth.SelectedItem != null));
@@ -224,6 +226,8 @@ namespace BreCalClient
isEnabled &= (this.datePickerETA.Value.Value > DateTime.Now);
if (this.datePickerETA.Value.HasValue && this.datePickerETD.Value.HasValue)
isEnabled &= (this.datePickerETA.Value.Value > this.datePickerETD.Value.Value);
+ isEnabled &= !this.datePickerETD.Value.IsTooFar();
+ isEnabled &= !this.datePickerETA.Value.IsTooFar();
break;
}
}
diff --git a/src/BreCalClient/EditTimesAgencyIncomingControl.xaml.cs b/src/BreCalClient/EditTimesAgencyIncomingControl.xaml.cs
index e259adf..db03b11 100644
--- a/src/BreCalClient/EditTimesAgencyIncomingControl.xaml.cs
+++ b/src/BreCalClient/EditTimesAgencyIncomingControl.xaml.cs
@@ -139,6 +139,12 @@ namespace BreCalClient
return false;
}
+ if(this.datePickerETA.Value.IsTooFar() || this.datePickerETA_End.Value.IsTooFar() || this.datePickerTidalWindowFrom.Value.IsTooFar() || this.datePickerTidalWindowTo.Value.IsTooFar())
+ {
+ message = BreCalClient.Resources.Resources.textTooFarInTheFuture;
+ return false;
+ }
+
return true;
}
diff --git a/src/BreCalClient/EditTimesAgencyOutgoingControl.xaml.cs b/src/BreCalClient/EditTimesAgencyOutgoingControl.xaml.cs
index 615236a..b05ec49 100644
--- a/src/BreCalClient/EditTimesAgencyOutgoingControl.xaml.cs
+++ b/src/BreCalClient/EditTimesAgencyOutgoingControl.xaml.cs
@@ -149,6 +149,12 @@ namespace BreCalClient
return false;
}
+ if (this.datePickerETD.Value.IsTooFar() || this.datePickerETD_End.Value.IsTooFar() || this.datePickerTidalWindowFrom.Value.IsTooFar() || this.datePickerTidalWindowTo.Value.IsTooFar())
+ {
+ message = BreCalClient.Resources.Resources.textTooFarInTheFuture;
+ return false;
+ }
+
return true;
}
diff --git a/src/BreCalClient/EditTimesAgencyShiftingControl.xaml.cs b/src/BreCalClient/EditTimesAgencyShiftingControl.xaml.cs
index aa34817..fdf8619 100644
--- a/src/BreCalClient/EditTimesAgencyShiftingControl.xaml.cs
+++ b/src/BreCalClient/EditTimesAgencyShiftingControl.xaml.cs
@@ -157,6 +157,13 @@ namespace BreCalClient
return false;
}
+ if (this.datePickerETA.Value.IsTooFar() || this.datePickerETA_End.Value.IsTooFar() || this.datePickerTidalWindowFrom.Value.IsTooFar() || this.datePickerTidalWindowTo.Value.IsTooFar() ||
+ this.datePickerETD.Value.IsTooFar() || this.datePickerETD_End.Value.IsTooFar())
+ {
+ message = BreCalClient.Resources.Resources.textTooFarInTheFuture;
+ return false;
+ }
+
return true;
}
diff --git a/src/BreCalClient/EditTimesControl.xaml.cs b/src/BreCalClient/EditTimesControl.xaml.cs
index 8deaae6..3ce8417 100644
--- a/src/BreCalClient/EditTimesControl.xaml.cs
+++ b/src/BreCalClient/EditTimesControl.xaml.cs
@@ -5,6 +5,7 @@
using BreCalClient.misc.Model;
using System;
+using System.Runtime.Serialization;
using System.Windows;
using System.Windows.Media.Imaging;
using Xceed.Wpf.Toolkit;
@@ -125,7 +126,14 @@ namespace BreCalClient
{
message = BreCalClient.Resources.Resources.textZoneEntryInThePast;
return false;
- }
+ }
+
+ if(this.datePickerATA.Value.IsTooFar() || this.datePickerATD.Value.IsTooFar() || this.datePickerETABerth.Value.IsTooFar() || this.datePickerETABerth_End.Value.IsTooFar() ||
+ this.datePickerETDBerth.Value.IsTooFar() || this.datePickerETDBerth_End.Value.IsTooFar() || this.datePickerLockTime.Value.IsTooFar() || this.datePickerZoneEntry.Value.IsTooFar())
+ {
+ message = BreCalClient.Resources.Resources.textTooFarInTheFuture;
+ return false;
+ }
return true;
}
diff --git a/src/BreCalClient/EditTimesTerminalControl.xaml.cs b/src/BreCalClient/EditTimesTerminalControl.xaml.cs
index 92732f4..1b43b18 100644
--- a/src/BreCalClient/EditTimesTerminalControl.xaml.cs
+++ b/src/BreCalClient/EditTimesTerminalControl.xaml.cs
@@ -144,6 +144,12 @@ namespace BreCalClient
return false;
}
+ if(this.datePickerOperationEnd.Value.IsTooFar() || this.datePickerOperationEnd_End.Value.IsTooFar() || this.datePickerOperationStart.Value.IsTooFar() || this.datePickerOperationStart_End.Value.IsTooFar())
+ {
+ message = BreCalClient.Resources.Resources.textTooFarInTheFuture;
+ return false;
+ }
+
return true;
}
diff --git a/src/BreCalClient/Extensions.cs b/src/BreCalClient/Extensions.cs
index f341598..54fedb3 100644
--- a/src/BreCalClient/Extensions.cs
+++ b/src/BreCalClient/Extensions.cs
@@ -3,10 +3,8 @@
//
using BreCalClient.misc.Model;
-using Newtonsoft.Json.Linq;
using System;
using System.ComponentModel;
-using System.Runtime.CompilerServices;
namespace BreCalClient
{
@@ -60,6 +58,17 @@ namespace BreCalClient
#region public helper
+ public static bool IsTooFar(this DateTime datetime)
+ {
+ return datetime > DateTime.Now.AddYears(1);
+ }
+
+ public static bool IsTooFar(this DateTime? datetime)
+ {
+ if (datetime == null) return false;
+ return datetime > DateTime.Now.AddYears(1);
+ }
+
public static bool IsTypeFlagSet(this Participant participant, ParticipantType flag)
{
return (participant.Type & (uint)flag) != 0;
diff --git a/src/BreCalClient/Resources/Resources.Designer.cs b/src/BreCalClient/Resources/Resources.Designer.cs
index 2cc1e8c..3537740 100644
--- a/src/BreCalClient/Resources/Resources.Designer.cs
+++ b/src/BreCalClient/Resources/Resources.Designer.cs
@@ -1253,6 +1253,15 @@ namespace BreCalClient.Resources {
}
}
+ ///
+ /// Looks up a localized string similar to A time value is too far in the future.
+ ///
+ public static string textTooFarInTheFuture {
+ get {
+ return ResourceManager.GetString("textTooFarInTheFuture", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Set as a fixed order.
///
diff --git a/src/BreCalClient/Resources/Resources.de.resx b/src/BreCalClient/Resources/Resources.de.resx
index cdd4e08..5cf59e7 100644
--- a/src/BreCalClient/Resources/Resources.de.resx
+++ b/src/BreCalClient/Resources/Resources.de.resx
@@ -544,4 +544,7 @@
Für das Tidenfenster müssen beide Zeiten angegeben werden
+
+ Eine Zeiteingabe ist zu weit in der Zukunft
+
\ No newline at end of file
diff --git a/src/BreCalClient/Resources/Resources.resx b/src/BreCalClient/Resources/Resources.resx
index 28af8fe..0b1de64 100644
--- a/src/BreCalClient/Resources/Resources.resx
+++ b/src/BreCalClient/Resources/Resources.resx
@@ -502,6 +502,9 @@
to
+
+ A time value is too far in the future
+
Set as a fixed order