added -1 day time logic to client

This commit is contained in:
Daniel Schick 2024-11-05 13:26:53 +01:00
parent be5859424d
commit b5a8a3d31c
7 changed files with 41 additions and 36 deletions

View File

@ -208,25 +208,21 @@ namespace BreCalClient
case ShipcallType.Departure: case ShipcallType.Departure:
isEnabled &= this.comboBoxDepartureBerth.SelectedItem != null; isEnabled &= this.comboBoxDepartureBerth.SelectedItem != null;
isEnabled &= this.datePickerETD.Value.HasValue; isEnabled &= this.datePickerETD.Value.HasValue;
if(this.datePickerETD.Value.HasValue) isEnabled &= !(this.datePickerETD.Value.IsTooOld() && this.datePickerETD.Value != this.ShipcallModel.Shipcall?.Etd);
isEnabled &= (this.datePickerETD.Value.Value > DateTime.Now);
isEnabled &= !this.datePickerETD.Value.IsTooFar(); isEnabled &= !this.datePickerETD.Value.IsTooFar();
break; break;
case ShipcallType.Arrival: case ShipcallType.Arrival:
isEnabled &= this.comboBoxArrivalBerth.SelectedItem != null; isEnabled &= this.comboBoxArrivalBerth.SelectedItem != null;
isEnabled &= this.datePickerETA.Value.HasValue; isEnabled &= this.datePickerETA.Value.HasValue;
if(this.datePickerETA.Value.HasValue) isEnabled &= !(this.datePickerETA.Value.IsTooOld() && this.datePickerETA.Value != this.ShipcallModel.Shipcall?.Eta);
isEnabled &= (this.datePickerETA.Value.Value > DateTime.Now);
isEnabled &= !this.datePickerETA.Value.IsTooFar(); isEnabled &= !this.datePickerETA.Value.IsTooFar();
break; break;
case ShipcallType.Shifting: case ShipcallType.Shifting:
isEnabled &= ((this.comboBoxDepartureBerth.SelectedItem != null) && (this.comboBoxArrivalBerth.SelectedItem != null)); isEnabled &= ((this.comboBoxDepartureBerth.SelectedItem != null) && (this.comboBoxArrivalBerth.SelectedItem != null));
isEnabled &= this.datePickerETD.Value.HasValue; isEnabled &= this.datePickerETD.Value.HasValue;
isEnabled &= this.datePickerETA.Value.HasValue; isEnabled &= this.datePickerETA.Value.HasValue;
if (this.datePickerETD.Value.HasValue) isEnabled &= !(this.datePickerETD.Value.IsTooOld() && this.datePickerETD.Value != this.ShipcallModel.Shipcall?.Etd);
isEnabled &= (this.datePickerETD.Value.Value > DateTime.Now); isEnabled &= !(this.datePickerETA.Value.IsTooOld() && this.datePickerETA.Value != this.ShipcallModel.Shipcall?.Eta);
if (this.datePickerETA.Value.HasValue)
isEnabled &= (this.datePickerETA.Value.Value > DateTime.Now);
if (this.datePickerETA.Value.HasValue && this.datePickerETD.Value.HasValue) if (this.datePickerETA.Value.HasValue && this.datePickerETD.Value.HasValue)
isEnabled &= (this.datePickerETA.Value.Value > this.datePickerETD.Value.Value); isEnabled &= (this.datePickerETA.Value.Value > this.datePickerETD.Value.Value);
isEnabled &= !this.datePickerETD.Value.IsTooFar(); isEnabled &= !this.datePickerETD.Value.IsTooFar();

View File

@ -104,13 +104,13 @@ namespace BreCalClient
{ {
message = ""; message = "";
if (this.datePickerETA.Value.HasValue && (this.datePickerETA.Value.Value < DateTime.Now) && (this.datePickerETA_End.Value == null)) if (this.datePickerETA.Value.IsTooOld() && (this.datePickerETA_End.Value == null) && (this.datePickerETA.Value != this.Times.EtaBerth))
{ {
message = BreCalClient.Resources.Resources.textETAInThePast; message = BreCalClient.Resources.Resources.textETAInThePast;
return false; return false;
} }
if(this.datePickerETA_End.Value.HasValue && this.datePickerETA_End.Value < DateTime.Now) if(this.datePickerETA_End.Value.IsTooOld() && (this.datePickerETA_End.Value != this.Times.EtaIntervalEnd))
{ {
message = BreCalClient.Resources.Resources.textETAInThePast; message = BreCalClient.Resources.Resources.textETAInThePast;
return false; return false;
@ -122,13 +122,13 @@ namespace BreCalClient
return false; return false;
} }
if (this.datePickerTidalWindowFrom.Value.HasValue && (this.datePickerTidalWindowFrom.Value.Value < DateTime.Now) && (this.datePickerTidalWindowTo.Value == null)) if (this.datePickerTidalWindowFrom.Value.IsTooOld() && (this.datePickerTidalWindowTo.Value == null) && (this.datePickerTidalWindowFrom.Value != this.ShipcallModel.Shipcall?.TidalWindowFrom))
{ {
message = BreCalClient.Resources.Resources.textTideTimesInThePast; message = BreCalClient.Resources.Resources.textTideTimesInThePast;
return false; return false;
} }
if (this.datePickerTidalWindowTo.Value.HasValue && this.datePickerTidalWindowTo.Value < DateTime.Now) if (this.datePickerTidalWindowTo.Value.IsTooOld() && (this.datePickerTidalWindowTo.Value != this.ShipcallModel.Shipcall?.TidalWindowTo))
{ {
message = BreCalClient.Resources.Resources.textTideTimesInThePast; message = BreCalClient.Resources.Resources.textTideTimesInThePast;
return false; return false;

View File

@ -114,13 +114,13 @@ namespace BreCalClient
{ {
message = ""; message = "";
if (this.datePickerETD.Value.HasValue && (this.datePickerETD.Value.Value < DateTime.Now) && (this.datePickerETD_End.Value == null)) if (this.datePickerETD.Value.IsTooOld() && (this.datePickerETD_End.Value == null) && (this.datePickerETD.Value != this.Times.EtdBerth))
{ {
message = BreCalClient.Resources.Resources.textETDInThePast; message = BreCalClient.Resources.Resources.textETDInThePast;
return false; return false;
} }
if (this.datePickerETD_End.Value.HasValue && this.datePickerETD_End.Value < DateTime.Now) if (this.datePickerETD_End.Value.IsTooOld() && (this.datePickerETD_End.Value != this.Times.EtdIntervalEnd))
{ {
message = BreCalClient.Resources.Resources.textETDInThePast; message = BreCalClient.Resources.Resources.textETDInThePast;
return false; return false;
@ -132,13 +132,13 @@ namespace BreCalClient
return false; return false;
} }
if (this.datePickerTidalWindowFrom.Value.HasValue && (this.datePickerTidalWindowFrom.Value.Value < DateTime.Now) && (this.datePickerTidalWindowTo.Value == null)) if (this.datePickerTidalWindowFrom.Value.IsTooOld() && (this.datePickerTidalWindowTo.Value == null) && (this.datePickerTidalWindowFrom.Value != this.ShipcallModel.Shipcall?.TidalWindowFrom))
{ {
message = BreCalClient.Resources.Resources.textTideTimesInThePast; message = BreCalClient.Resources.Resources.textTideTimesInThePast;
return false; return false;
} }
if (this.datePickerTidalWindowTo.Value.HasValue && this.datePickerTidalWindowTo.Value < DateTime.Now) if (this.datePickerTidalWindowTo.Value.IsTooOld() && (this.datePickerTidalWindowTo.Value != this.ShipcallModel.Shipcall?.TidalWindowTo))
{ {
message = BreCalClient.Resources.Resources.textTideTimesInThePast; message = BreCalClient.Resources.Resources.textTideTimesInThePast;
return false; return false;

View File

@ -108,13 +108,13 @@ namespace BreCalClient
{ {
message = ""; message = "";
if (this.datePickerETA.Value.HasValue && (this.datePickerETA.Value.Value < DateTime.Now) && (this.datePickerETA_End.Value == null)) if (this.datePickerETA.Value.IsTooOld() && (this.datePickerETA_End.Value == null) && (this.datePickerETA.Value != this.Times.EtaBerth))
{ {
message = BreCalClient.Resources.Resources.textETAInThePast; message = BreCalClient.Resources.Resources.textETAInThePast;
return false; return false;
} }
if (this.datePickerETA_End.Value.HasValue && this.datePickerETA_End.Value < DateTime.Now) if (this.datePickerETA_End.Value.IsTooOld() && (this.datePickerETA_End.Value != this.Times.EtaIntervalEnd))
{ {
message = BreCalClient.Resources.Resources.textETAInThePast; message = BreCalClient.Resources.Resources.textETAInThePast;
return false; return false;
@ -126,13 +126,13 @@ namespace BreCalClient
return false; return false;
} }
if (this.datePickerETD.Value.HasValue && (this.datePickerETD.Value.Value < DateTime.Now) && (this.datePickerETD_End.Value == null)) if (this.datePickerETD.Value.IsTooOld() && (this.datePickerETD_End.Value == null) && (this.datePickerETD.Value != this.Times.EtdBerth))
{ {
message = BreCalClient.Resources.Resources.textETDInThePast; message = BreCalClient.Resources.Resources.textETDInThePast;
return false; return false;
} }
if (this.datePickerETD_End.Value.HasValue && this.datePickerETD_End.Value < DateTime.Now) if (this.datePickerETD_End.Value.IsTooOld() && (this.datePickerETD_End.Value != this.Times.EtdIntervalEnd))
{ {
message = BreCalClient.Resources.Resources.textETDInThePast; message = BreCalClient.Resources.Resources.textETDInThePast;
return false; return false;
@ -144,13 +144,13 @@ namespace BreCalClient
return false; return false;
} }
if (this.datePickerTidalWindowFrom.Value.HasValue && (this.datePickerTidalWindowFrom.Value.Value < DateTime.Now) && (this.datePickerTidalWindowTo.Value == null)) if (this.datePickerTidalWindowFrom.Value.IsTooOld() && (this.datePickerTidalWindowTo.Value == null) && (this.datePickerTidalWindowFrom.Value != this.ShipcallModel.Shipcall?.TidalWindowFrom))
{ {
message = BreCalClient.Resources.Resources.textTideTimesInThePast; message = BreCalClient.Resources.Resources.textTideTimesInThePast;
return false; return false;
} }
if (this.datePickerTidalWindowTo.Value.HasValue && this.datePickerTidalWindowTo.Value < DateTime.Now) if (this.datePickerTidalWindowTo.Value.IsTooOld() && (this.datePickerTidalWindowTo.Value != this.ShipcallModel.Shipcall?.TidalWindowTo))
{ {
message = BreCalClient.Resources.Resources.textTideTimesInThePast; message = BreCalClient.Resources.Resources.textTideTimesInThePast;
return false; return false;

View File

@ -49,7 +49,8 @@ namespace BreCalClient
{ {
if (!CheckValues(out string message)) if (!CheckValues(out string message))
{ {
System.Windows.MessageBox.Show(message, "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); System.Windows.MessageBox.Show(message, BreCalClient.Resources.Resources.textWarning,
MessageBoxButton.OK, MessageBoxImage.Warning);
} }
else else
{ {
@ -98,13 +99,13 @@ namespace BreCalClient
message = ""; message = "";
if (this.datePickerETABerth.Value.HasValue && (this.datePickerETABerth.Value.Value < DateTime.Now) && (this.datePickerETABerth_End.Value == null) && (this.datePickerETABerth.Value != this.Times.EtaBerth)) if (this.datePickerETABerth.Value.IsTooOld() && (this.datePickerETABerth_End.Value == null) && (this.datePickerETABerth.Value != this.Times.EtaBerth))
{ {
message = BreCalClient.Resources.Resources.textETAInThePast; message = BreCalClient.Resources.Resources.textETAInThePast;
return false; return false;
} }
if (this.datePickerETABerth_End.Value.HasValue && this.datePickerETABerth_End.Value < DateTime.Now && this.datePickerETABerth_End.Value != this.Times.EtaIntervalEnd) if (this.datePickerETABerth_End.Value.IsTooOld() && this.datePickerETABerth_End.Value != this.Times.EtaIntervalEnd)
{ {
message = BreCalClient.Resources.Resources.textETAInThePast; message = BreCalClient.Resources.Resources.textETAInThePast;
return false; return false;
@ -116,13 +117,13 @@ namespace BreCalClient
return false; return false;
} }
if (this.datePickerETDBerth.Value.HasValue && (this.datePickerETDBerth.Value.Value < DateTime.Now) && (this.datePickerETABerth_End.Value == null) && (this.datePickerETDBerth.Value != this.Times.EtdBerth)) if (this.datePickerETDBerth.Value.IsTooOld() && (this.datePickerETDBerth_End.Value == null) && (this.datePickerETDBerth.Value != this.Times.EtdBerth))
{ {
message = BreCalClient.Resources.Resources.textETDInThePast; message = BreCalClient.Resources.Resources.textETDInThePast;
return false; return false;
} }
if (this.datePickerETDBerth_End.Value.HasValue && this.datePickerETDBerth_End.Value < DateTime.Now && this.datePickerETDBerth_End.Value != this.Times.EtdIntervalEnd) if (this.datePickerETDBerth_End.Value.IsTooOld() && this.datePickerETDBerth_End.Value != this.Times.EtdIntervalEnd)
{ {
message = BreCalClient.Resources.Resources.textETDInThePast; message = BreCalClient.Resources.Resources.textETDInThePast;
return false; return false;
@ -134,13 +135,13 @@ namespace BreCalClient
return false; return false;
} }
if (this.datePickerLockTime.Value.HasValue && (this.datePickerLockTime.Value.Value < DateTime.Now) && (this.datePickerLockTime.Value != this.Times.LockTime)) if (this.datePickerLockTime.Value.IsTooOld() && (this.datePickerLockTime.Value != this.Times.LockTime))
{ {
message = BreCalClient.Resources.Resources.textLockTimeInThePast; message = BreCalClient.Resources.Resources.textLockTimeInThePast;
return false; return false;
} }
if (this.datePickerZoneEntry.Value.HasValue && this.datePickerZoneEntry.Value < DateTime.Now && this.datePickerZoneEntry.Value != this.Times.ZoneEntry) if (this.datePickerZoneEntry.Value.IsTooOld() && (this.datePickerZoneEntry.Value != this.Times.ZoneEntry))
{ {
message = BreCalClient.Resources.Resources.textZoneEntryInThePast; message = BreCalClient.Resources.Resources.textZoneEntryInThePast;
return false; return false;

View File

@ -111,13 +111,13 @@ namespace BreCalClient
message = ""; message = "";
if (this.datePickerOperationStart.Value.HasValue && (this.datePickerOperationStart.Value.Value < DateTime.Now) && (this.datePickerOperationStart_End.Value == null)) if (this.datePickerOperationStart.Value.IsTooOld() && (this.datePickerOperationStart_End.Value == null) && (this.datePickerOperationStart.Value != this.Times.OperationsStart))
{ {
message = BreCalClient.Resources.Resources.textOperationStartInThePast; message = BreCalClient.Resources.Resources.textOperationStartInThePast;
return false; return false;
} }
if (this.datePickerOperationStart_End.Value.HasValue && this.datePickerOperationStart_End.Value < DateTime.Now) if (this.datePickerOperationStart_End.Value.IsTooOld() && (this.datePickerOperationStart_End.Value != this.Times.EtaIntervalEnd))
{ {
message = BreCalClient.Resources.Resources.textOperationStartInThePast; message = BreCalClient.Resources.Resources.textOperationStartInThePast;
return false; return false;
@ -129,13 +129,13 @@ namespace BreCalClient
return false; return false;
} }
if (this.datePickerOperationEnd.Value.HasValue && (this.datePickerOperationEnd.Value.Value < DateTime.Now) && (this.datePickerOperationEnd_End.Value == null)) if (this.datePickerOperationEnd.Value.IsTooOld() && (this.datePickerOperationEnd_End.Value == null) && (this.datePickerOperationEnd.Value != this.Times.OperationsEnd))
{ {
message = BreCalClient.Resources.Resources.textOperationEndInThePast; message = BreCalClient.Resources.Resources.textOperationEndInThePast;
return false; return false;
} }
if (this.datePickerOperationEnd_End.Value.HasValue && this.datePickerOperationEnd_End.Value < DateTime.Now) if (this.datePickerOperationEnd_End.Value.IsTooOld() && (this.datePickerOperationEnd_End.Value != this.Times.EtdIntervalEnd))
{ {
message = BreCalClient.Resources.Resources.textOperationEndInThePast; message = BreCalClient.Resources.Resources.textOperationEndInThePast;
return false; return false;

View File

@ -69,6 +69,14 @@ namespace BreCalClient
return datetime > DateTime.Now.AddYears(1); return datetime > DateTime.Now.AddYears(1);
} }
public static bool IsTooOld(this DateTime? datetime)
{
if (datetime == null) return false;
{
return datetime < DateTime.Now.AddDays(-1);
}
}
public static bool IsTypeFlagSet(this Participant participant, ParticipantType flag) public static bool IsTypeFlagSet(this Participant participant, ParticipantType flag)
{ {
return (participant.Type & (uint)flag) != 0; return (participant.Type & (uint)flag) != 0;