diff --git a/misc/BreCalApi.cs b/misc/BreCalApi.cs
index d139681..c219711 100644
--- a/misc/BreCalApi.cs
+++ b/misc/BreCalApi.cs
@@ -1,7 +1,7 @@
//----------------------
//
-// Generated REST API Client Code Generator v1.7.17.0 on 21.08.2023 19:15:39
+// Generated REST API Client Code Generator v1.7.17.0 on 24.08.2023 08:00:37
// Using the tool OpenAPI Generator v6.6.0
//
//----------------------
@@ -44,13 +44,12 @@ using System.Threading.Tasks;
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
namespace BreCalClient.misc.Api
{
-#pragma warning disable CS8073 // The result of the expression is always the same since a value of this type is never equal to 'null'
///
/// Represents a collection of functions to interact with the API endpoints
///
@@ -2323,7 +2322,7 @@ namespace BreCalClient.misc.Api
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -3058,7 +3057,7 @@ namespace BreCalClient.misc.Client
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -3118,7 +3117,7 @@ namespace BreCalClient.misc.Client
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -3258,7 +3257,7 @@ namespace BreCalClient.misc.Client
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -3476,7 +3475,7 @@ namespace BreCalClient.misc.Client
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -3916,7 +3915,7 @@ namespace BreCalClient.misc.Client
string report = "C# SDK (BreCalClient.misc) Debug Report:\n";
report += " OS: " + System.Environment.OSVersion + "\n";
report += " .NET Framework Version: " + System.Environment.Version + "\n";
- report += " Version of the API: 0.4.0\n";
+ report += " Version of the API: 0.5.0\n";
report += " SDK Package Version: 1.0.0\n";
return report;
}
@@ -3983,7 +3982,7 @@ namespace BreCalClient.misc.Client
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -4003,7 +4002,7 @@ namespace BreCalClient.misc.Client
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -4060,7 +4059,7 @@ namespace BreCalClient.misc.Client
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -4093,7 +4092,7 @@ namespace BreCalClient.misc.Client
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -4126,7 +4125,7 @@ namespace BreCalClient.misc.Client
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -4217,7 +4216,7 @@ namespace BreCalClient.misc.Client
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -4325,7 +4324,7 @@ namespace BreCalClient.misc.Client
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -4409,7 +4408,7 @@ namespace BreCalClient.misc.Client
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -4668,7 +4667,7 @@ namespace BreCalClient.misc.Client
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -4696,7 +4695,7 @@ namespace BreCalClient.misc.Client
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -4766,7 +4765,7 @@ namespace BreCalClient.misc.Client
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -4793,7 +4792,7 @@ namespace BreCalClient.misc.Client
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -4860,7 +4859,7 @@ namespace BreCalClient.misc.Model
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -5066,7 +5065,7 @@ namespace BreCalClient.misc.Model
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -5203,7 +5202,7 @@ namespace BreCalClient.misc.Model
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -5319,7 +5318,7 @@ namespace BreCalClient.misc.Model
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -5531,7 +5530,7 @@ namespace BreCalClient.misc.Model
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -5757,7 +5756,7 @@ namespace BreCalClient.misc.Model
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -6006,7 +6005,7 @@ namespace BreCalClient.misc.Model
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -6313,7 +6312,7 @@ namespace BreCalClient.misc.Model
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -6843,7 +6842,7 @@ namespace BreCalClient.misc.Model
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -7201,7 +7200,7 @@ namespace BreCalClient.misc.Model
*
* Administer DEBRE ship calls, times and notifications
*
- * The version of the OpenAPI document: 0.4.0
+ * The version of the OpenAPI document: 0.5.0
* Contact: info@textbausteine.net
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -7380,6 +7379,5 @@ namespace BreCalClient.misc.Model
yield break;
}
}
- #pragma warning restore CS8073 // The result of the expression is always the same since a value of this type is never equal to 'null'
}
diff --git a/misc/BreCalApi.yaml b/misc/BreCalApi.yaml
index 9b8c83b..fea7042 100644
--- a/misc/BreCalApi.yaml
+++ b/misc/BreCalApi.yaml
@@ -1,6 +1,6 @@
openapi: "3.0.0"
info:
- version: "0.4.0"
+ version: "0.5.0"
title: "Bremen calling API"
description: Administer DEBRE ship calls, times and notifications
termsOfService: "https://www.bsmd.de/" # url to terms page
diff --git a/src/BreCalClient/BreCalClient.csproj b/src/BreCalClient/BreCalClient.csproj
index 464f79e..d8439fe 100644
--- a/src/BreCalClient/BreCalClient.csproj
+++ b/src/BreCalClient/BreCalClient.csproj
@@ -8,8 +8,8 @@
TrueBreCalClient.AppE:\gitlager\git_brcal\misc\brecal.snk
- 0.4.0.0
- 0.4.0.0
+ 0.5.0.0
+ 0.5.0.0
Bremen calling clientA Windows WPF client for the Bremen calling API.containership.ico
diff --git a/src/BreCalClient/EditTimesControl.xaml b/src/BreCalClient/EditTimesControl.xaml
new file mode 100644
index 0000000..cec997c
--- /dev/null
+++ b/src/BreCalClient/EditTimesControl.xaml
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/BreCalClient/EditTimesControl.xaml.cs b/src/BreCalClient/EditTimesControl.xaml.cs
new file mode 100644
index 0000000..4ef8f72
--- /dev/null
+++ b/src/BreCalClient/EditTimesControl.xaml.cs
@@ -0,0 +1,114 @@
+// Copyright (c) 2023 schick Informatik
+// Description: Single dialog to edit times for all participant types
+// (we might use different controls at a later time)
+//
+
+using BreCalClient.misc.Model;
+using System.Windows;
+
+namespace BreCalClient
+{
+ ///
+ /// Interaction logic for EditTimesControl.xaml
+ ///
+ public partial class EditTimesControl : Window
+ {
+
+ #region Construction
+
+ public EditTimesControl()
+ {
+ InitializeComponent();
+ }
+
+ #endregion
+
+ #region Properties
+
+ public Times Times { get; set; } = new();
+
+ internal Extensions.ParticipantType ParticipantType { get; set; } = Extensions.ParticipantType.NONE;
+
+ #endregion
+
+ #region event handler
+
+ private void Window_Loaded(object sender, RoutedEventArgs e)
+ {
+ this.CopyToControls();
+ // enable controls according to participant type
+ this.datePickerETABerth.IsEnabled = App.Participant.IsFlagSet(Extensions.ParticipantType.AGENCY) ||
+ App.Participant.IsFlagSet(Extensions.ParticipantType.MOORING) ||
+ App.Participant.IsFlagSet(Extensions.ParticipantType.PILOT) ||
+ App.Participant.IsFlagSet(Extensions.ParticipantType.PORT_ADMINISTRATION) ||
+ App.Participant.IsFlagSet(Extensions.ParticipantType.TUG);
+
+
+ this.checkBoxEtaBerthFixed.IsEnabled = this.datePickerETABerth.IsEnabled;
+ this.datePickerETDBerth.IsEnabled = this.datePickerETABerth.IsEnabled;
+ this.checkBoxEtDBerthFixed.IsEnabled = this.datePickerETABerth.IsEnabled;
+
+ this.datePickerLockTime.IsEnabled = App.Participant.IsFlagSet(Extensions.ParticipantType.AGENCY) ||
+ App.Participant.IsFlagSet(Extensions.ParticipantType.MOORING) ||
+ App.Participant.IsFlagSet(Extensions.ParticipantType.PORT_ADMINISTRATION);
+ this.checkBoxLockTimeFixed.IsEnabled = this.datePickerLockTime.IsEnabled;
+
+ this.datePickerZoneEntry.IsEnabled = App.Participant.IsFlagSet(Extensions.ParticipantType.AGENCY) ||
+ App.Participant.IsFlagSet(Extensions.ParticipantType.PILOT);
+ this.checkBoxZoneEntryFixed.IsEnabled = this.datePickerZoneEntry.IsEnabled;
+
+ this.datePickerOperationStart.IsEnabled = App.Participant.IsFlagSet(Extensions.ParticipantType.TERMINAL);
+ this.datePickerOperationEnd.IsEnabled = App.Participant.IsFlagSet(Extensions.ParticipantType.TERMINAL);
+ }
+
+ private void buttonOK_Click(object sender, RoutedEventArgs e)
+ {
+ this.CopyToModel();
+ this.DialogResult = true;
+ this.Close();
+ }
+
+ private void buttonCancel_Click(object sender, RoutedEventArgs e)
+ {
+ this.DialogResult = false;
+ this.Close();
+ }
+
+ #endregion
+
+ #region private methods
+
+ private void CopyToModel()
+ {
+ this.Times.Remarks = this.textBoxRemarks.Text.Trim().Truncate(512);
+ this.Times.EtaBerth = this.datePickerETABerth.Value;
+ this.Times.EtdBerth = this.datePickerETDBerth.Value;
+ this.Times.LockTime = this.datePickerLockTime.Value;
+ this.Times.ZoneEntry = this.datePickerZoneEntry.Value;
+ this.Times.OperationsStart = this.datePickerOperationStart.Value;
+ this.Times.OperationsEnd = this.datePickerOperationEnd.Value;
+ this.Times.EtaBerthFixed = this.checkBoxEtaBerthFixed.IsChecked;
+ this.Times.EtdBerthFixed = this.checkBoxEtDBerthFixed.IsChecked;
+ this.Times.LockTimeFixed = this.checkBoxLockTimeFixed.IsChecked;
+ this.Times.ZoneEntryFixed = this.checkBoxZoneEntryFixed.IsChecked;
+ }
+
+ private void CopyToControls()
+ {
+ this.textBoxRemarks.Text = this.Times.Remarks;
+ this.datePickerETABerth.Value = this.Times.EtaBerth;
+ this.datePickerETDBerth.Value = this.Times.EtdBerth;
+ this.datePickerLockTime.Value = this.Times.LockTime;
+ this.datePickerZoneEntry.Value = this.Times.ZoneEntry;
+ this.datePickerOperationStart.Value = this.Times.OperationsStart;
+ this.datePickerOperationEnd.Value = this.Times.OperationsEnd;
+ this.checkBoxEtaBerthFixed.IsChecked = this.Times.EtaBerthFixed;
+ this.checkBoxEtDBerthFixed.IsChecked = this.Times.EtdBerthFixed;
+ this.checkBoxLockTimeFixed.IsChecked = this.Times.LockTimeFixed;
+ this.checkBoxZoneEntryFixed.IsChecked = this.Times.ZoneEntryFixed;
+ }
+
+ #endregion
+
+ }
+}
diff --git a/src/BreCalClient/Extensions.cs b/src/BreCalClient/Extensions.cs
index 40bf07b..de76cdb 100644
--- a/src/BreCalClient/Extensions.cs
+++ b/src/BreCalClient/Extensions.cs
@@ -66,6 +66,20 @@ namespace BreCalClient
else participant.Type &= (int)~flag;
}
+ public static string Truncate(this string value, int maxLength)
+ {
+ if (string.IsNullOrEmpty(value)) return value;
+ return value.Length <= maxLength ? value : value.Substring(0, maxLength);
+ }
+
+ public static string TruncateDots(this string value, int maxLength)
+ {
+ if(string.IsNullOrEmpty(value)) return value;
+ if (value.Length <= maxLength) return value;
+ if (value.Length > (maxLength + 1)) return $"{value.Substring(0, maxLength)}..";
+ return value.Substring(0, maxLength);
+ }
+
#endregion
}
diff --git a/src/BreCalClient/MainWindow.xaml.cs b/src/BreCalClient/MainWindow.xaml.cs
index b553096..db621ce 100644
--- a/src/BreCalClient/MainWindow.xaml.cs
+++ b/src/BreCalClient/MainWindow.xaml.cs
@@ -293,7 +293,8 @@ namespace BreCalClient
ShipcallControl sc = new()
{
Height = 120,
- ShipcallControlModel = selectedSCMModel
+ ShipcallControlModel = selectedSCMModel,
+ ParticipantDict = _participantLookupDict
};
sc.EditTimesRequested += Sc_EditTimesRequested;
sc.EditRequested += Sc_EditRequested;
@@ -337,11 +338,41 @@ namespace BreCalClient
}
}
- private void Sc_EditTimesRequested(ShipcallControl obj, Times times)
+ private async void Sc_EditTimesRequested(ShipcallControl obj, Times? times)
{
// show a dialog that lets the user create / update times for the given shipcall
-
-
+ EditTimesControl etc = new();
+ bool wasEdit = false;
+ if (times != null)
+ {
+ etc.Times = times;
+ wasEdit = true;
+ }
+ if(etc.ShowDialog() ?? false)
+ {
+ try
+ {
+ if (wasEdit)
+ {
+ await _api.TimesPutAsync(etc.Times);
+ }
+ else
+ {
+ etc.Times.ParticipantId = App.Participant.Id;
+ if ((obj.ShipcallControlModel != null) && (obj.ShipcallControlModel.Shipcall != null))
+ {
+ etc.Times.ShipcallId = obj.ShipcallControlModel.Shipcall.Id;
+ }
+ await _api.TimesPostAsync(etc.Times);
+ obj.ShipcallControlModel?.Times.Add(etc.Times);
+ }
+ obj.RefreshData();
+ }
+ catch (Exception ex)
+ {
+ ShowErrorDialog(ex.Message, "Error saving times");
+ }
+ }
}
private void ShowErrorDialog(string message, string caption)
diff --git a/src/BreCalClient/Properties/PublishProfiles/ClickOnceProfile.pubxml b/src/BreCalClient/Properties/PublishProfiles/ClickOnceProfile.pubxml
index b3b1f7d..e94a155 100644
--- a/src/BreCalClient/Properties/PublishProfiles/ClickOnceProfile.pubxml
+++ b/src/BreCalClient/Properties/PublishProfiles/ClickOnceProfile.pubxml
@@ -5,7 +5,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
0
- 0.4.0.0
+ 0.5.0.0FalseReleaseTrue
diff --git a/src/BreCalClient/Resources/Resources.Designer.cs b/src/BreCalClient/Resources/Resources.Designer.cs
index ca28c6e..3e1de73 100644
--- a/src/BreCalClient/Resources/Resources.Designer.cs
+++ b/src/BreCalClient/Resources/Resources.Designer.cs
@@ -333,6 +333,15 @@ namespace BreCalClient.Resources {
}
}
+ ///
+ /// Looks up a localized string similar to Edit times.
+ ///
+ public static string textEditTimes {
+ get {
+ return ResourceManager.GetString("textEditTimes", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Enter keyword.
///
@@ -342,6 +351,24 @@ namespace BreCalClient.Resources {
}
}
+ ///
+ /// Looks up a localized string similar to ETA berth.
+ ///
+ public static string textETABerth {
+ get {
+ return ResourceManager.GetString("textETABerth", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to ETD berth.
+ ///
+ public static string textETDBerth {
+ get {
+ return ResourceManager.GetString("textETDBerth", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Exit.
///
@@ -351,6 +378,15 @@ namespace BreCalClient.Resources {
}
}
+ ///
+ /// Looks up a localized string similar to Fixed.
+ ///
+ public static string textFixed {
+ get {
+ return ResourceManager.GetString("textFixed", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to from.
///
@@ -378,6 +414,15 @@ namespace BreCalClient.Resources {
}
}
+ ///
+ /// Looks up a localized string similar to Lock time.
+ ///
+ public static string textLockTime {
+ get {
+ return ResourceManager.GetString("textLockTime", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Login.
///
@@ -450,6 +495,24 @@ namespace BreCalClient.Resources {
}
}
+ ///
+ /// Looks up a localized string similar to Operations end.
+ ///
+ public static string textOperationsEnd {
+ get {
+ return ResourceManager.GetString("textOperationsEnd", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Operations start.
+ ///
+ public static string textOperationsStart {
+ get {
+ return ResourceManager.GetString("textOperationsStart", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Participants.
///
@@ -513,6 +576,15 @@ namespace BreCalClient.Resources {
}
}
+ ///
+ /// Looks up a localized string similar to Remarks.
+ ///
+ public static string textRemarks {
+ get {
+ return ResourceManager.GetString("textRemarks", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Repeat new password.
///
@@ -666,6 +738,15 @@ namespace BreCalClient.Resources {
}
}
+ ///
+ /// Looks up a localized string similar to Zone entry.
+ ///
+ public static string textZoneEntryTime {
+ get {
+ return ResourceManager.GetString("textZoneEntryTime", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized resource of type System.Byte[].
///
diff --git a/src/BreCalClient/Resources/Resources.de.resx b/src/BreCalClient/Resources/Resources.de.resx
index 2ab3ce8..6009777 100644
--- a/src/BreCalClient/Resources/Resources.de.resx
+++ b/src/BreCalClient/Resources/Resources.de.resx
@@ -196,6 +196,15 @@
Schiffsanlauf bearbeiten
+
+ Zeiten bearbeiten
+
+
+ ETA Liegeplatz
+
+
+ ETD Liegeplatz
+
Suchbegriff eingeben
@@ -214,6 +223,18 @@
Anmelden
+
+ Fest
+
+
+ Zeit Schleuse
+
+
+ Operation Ende
+
+
+ Operation Start
+
Festmacher in Schleuse
@@ -229,6 +250,9 @@
Ungedreht
+
+ Reviereintritt
+
OK
diff --git a/src/BreCalClient/Resources/Resources.resx b/src/BreCalClient/Resources/Resources.resx
index 6d0a74e..531d465 100644
--- a/src/BreCalClient/Resources/Resources.resx
+++ b/src/BreCalClient/Resources/Resources.resx
@@ -205,12 +205,24 @@
Edit ship call
+
+ Edit times
+
Enter keyword
+
+ ETA berth
+
+
+ ETD berth
+
Exit
+
+ Fixed
+
from
@@ -220,6 +232,9 @@
L/W
+
+ Lock time
+
Login
@@ -244,6 +259,12 @@
Old password
+
+ Operations end
+
+
+ Operations start
+
Participants
@@ -265,6 +286,9 @@
Recommended tugs
+
+ Remarks
+
Repeat new password
@@ -316,6 +340,9 @@
Voyage
+
+ Zone entry
+
trafficlight_green.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
diff --git a/src/BreCalClient/ShipcallControl.xaml b/src/BreCalClient/ShipcallControl.xaml
index 5c427c0..075b91a 100644
--- a/src/BreCalClient/ShipcallControl.xaml
+++ b/src/BreCalClient/ShipcallControl.xaml
@@ -49,40 +49,40 @@
-
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -101,7 +101,131 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+