From be2b21f460366c30872a2033ee49669a62268a45 Mon Sep 17 00:00:00 2001 From: Daniel Schick Date: Wed, 12 Jul 2017 18:44:00 +0000 Subject: [PATCH] Neue ENI-2 Version mit TOWA/TOWD Detailansicht --- .../TowageDetailControl.xaml | 56 ++++- .../TowageDetailControl.xaml.cs | 214 ++++++++++++++++-- ENI-2/ENI2/ENI2/ENI2.csproj | 9 +- .../ENI2/ENI2/EditControls/EditTOWDialog.xaml | 72 ++++++ .../ENI2/EditControls/EditTOWDialog.xaml.cs | 118 ++++++++++ .../ENI2/Properties/Resources.Designer.cs | 18 ++ ENI-2/ENI2/ENI2/Properties/Resources.resx | 6 + Stundensheet.xlsx | Bin 31532 -> 31618 bytes nsw/Source/bsmd.ExcelReadService/Util.cs | 4 +- 9 files changed, 479 insertions(+), 18 deletions(-) create mode 100644 ENI-2/ENI2/ENI2/EditControls/EditTOWDialog.xaml create mode 100644 ENI-2/ENI2/ENI2/EditControls/EditTOWDialog.xaml.cs diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/TowageDetailControl.xaml b/ENI-2/ENI2/ENI2/DetailViewControls/TowageDetailControl.xaml index ab9a0322..83a736d1 100644 --- a/ENI-2/ENI2/ENI2/DetailViewControls/TowageDetailControl.xaml +++ b/ENI-2/ENI2/ENI2/DetailViewControls/TowageDetailControl.xaml @@ -5,9 +5,61 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:ENI2.DetailViewControls" + xmlns:p="clr-namespace:ENI2.Properties" + xmlns:enictrl="clr-namespace:ENI2.Controls" + xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit" mc:Ignorable="d" - d:DesignHeight="300" d:DesignWidth="300"> + d:DesignHeight="800" d:DesignWidth="1024"> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/TowageDetailControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailViewControls/TowageDetailControl.xaml.cs index 92e24827..d6f2dc90 100644 --- a/ENI-2/ENI2/ENI2/DetailViewControls/TowageDetailControl.xaml.cs +++ b/ENI-2/ENI2/ENI2/DetailViewControls/TowageDetailControl.xaml.cs @@ -2,20 +2,10 @@ // Description: // -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using System.Windows; -using System.Windows.Controls; -using System.Windows.Data; -using System.Windows.Documents; -using System.Windows.Input; -using System.Windows.Media; -using System.Windows.Media.Imaging; -using System.Windows.Navigation; -using System.Windows.Shapes; + +using bsmd.database; +using ENI2.EditControls; namespace ENI2.DetailViewControls { @@ -24,9 +14,207 @@ namespace ENI2.DetailViewControls /// public partial class TowageDetailControl : DetailBaseControl { + + private Message _towaMessage; + private Message _towdMessage; + public TowageDetailControl() { InitializeComponent(); + this.Loaded += TowageDetailControl_Loaded; + } + + private void TowageDetailControl_Loaded(object sender, RoutedEventArgs e) + { + + } + + public override void Initialize() + { + base.Initialize(); + + foreach (Message aMessage in this.Messages) + { + if (aMessage.MessageNotificationClass == Message.NotificationClass.TOWA) { this._towaMessage = aMessage; this.ControlMessages.Add(aMessage); } + if (aMessage.MessageNotificationClass == Message.NotificationClass.TOWD) { this._towdMessage = aMessage; this.ControlMessages.Add(aMessage); } + } + + #region TOWA + + if (this._towaMessage == null) + { + this._towaMessage = this.Core.CreateMessage(Message.NotificationClass.TOWA); + this.Messages.Add(this._towaMessage); + } + + this.dataGridTowageOnArrival.Initialize(); + this.dataGridTowageOnArrival.ItemsSource = this._towaMessage.Elements; + this.dataGridTowageOnArrival.AddingNewItem += DataGridTowageOnArrival_AddingNewItem; + this.dataGridTowageOnArrival.EditRequested += DataGridTowageOnArrival_EditRequested; + this.dataGridTowageOnArrival.DeleteRequested += DataGridTowageOnArrival_DeleteRequested; + this.dataGridTowageOnArrival.CreateRequested += DataGridTowageOnArrival_CreateRequested; + + #endregion + + #region TOWD + + if (this._towdMessage == null) + { + this._towdMessage = this.Core.CreateMessage(Message.NotificationClass.TOWD); + this.Messages.Add(this._towdMessage); + } + + this.dataGridTowageOnDeparture.Initialize(); + this.dataGridTowageOnDeparture.ItemsSource = this._towdMessage.Elements; + this.dataGridTowageOnDeparture.AddingNewItem += DataGridTowageOnDeparture_AddingNewItem; + this.dataGridTowageOnDeparture.EditRequested += DataGridTowageOnDeparture_EditRequested; + this.dataGridTowageOnDeparture.DeleteRequested += DataGridTowageOnDeparture_DeleteRequested; + this.dataGridTowageOnDeparture.CreateRequested += DataGridTowageOnDeparture_CreateRequested; + + #endregion + + } + + private void DataGridTowageOnDeparture_CreateRequested() + { + TOWD towd = new TOWD(); + EditTOWDialog ebd = new EditTOWDialog(); + ebd.TOWD = towd; + ebd.IsDeparture = true; + + ebd.AddClicked += () => + { + ebd.CopyValuesToEntity(); + this._towdMessage.Elements.Add(ebd.TOWD); + ebd.TOWD.MessageHeader = _towdMessage; + this.dataGridTowageOnDeparture.Items.Refresh(); + ebd.TOWD = new TOWD(); + this.SublistElementChanged(Message.NotificationClass.TOWD); + }; + + if (ebd.ShowDialog() ?? false) + { + towd.MessageHeader = _towdMessage; + _towdMessage.Elements.Add(towd); + this.dataGridTowageOnDeparture.Items.Refresh(); + this.SublistElementChanged(Message.NotificationClass.TOWD); + } + } + + private void DataGridTowageOnDeparture_DeleteRequested(DatabaseEntity obj) + { + TOWD towd = obj as TOWD; + if (towd != null) + { + // are you sure dialog is in base class + this._towdMessage.Elements.Remove(towd); + DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Delete(towd); + this.dataGridTowageOnDeparture.Items.Refresh(); + } + } + + private void DataGridTowageOnDeparture_EditRequested(DatabaseEntity obj) + { + TOWD towd = obj as TOWD; + if (towd != null) + { + EditTOWDialog eld = new EditTOWDialog(); + eld.IsDeparture = true; + eld.TOWD = towd; + + eld.AddClicked += () => + { + eld.CopyValuesToEntity(); + _towdMessage.Elements.Add(eld.TOWD); + this.dataGridTowageOnDeparture.Items.Refresh(); + eld.TOWD = new TOWD(); + eld.TOWD.MessageHeader = _towdMessage; + this.SublistElementChanged(Message.NotificationClass.TOWD); + }; + + if (eld.ShowDialog() ?? false) + { + this.dataGridTowageOnDeparture.Items.Refresh(); + this.SublistElementChanged(Message.NotificationClass.TOWD); + } + } + } + + private void DataGridTowageOnDeparture_AddingNewItem(object sender, System.Windows.Controls.AddingNewItemEventArgs e) + { + this.DataGridTowageOnDeparture_CreateRequested(); + } + + + + private void DataGridTowageOnArrival_CreateRequested() + { + TOWA towa = new TOWA(); + EditTOWDialog ebd = new EditTOWDialog(); + ebd.TOWA = towa; + ebd.IsDeparture = false; + + ebd.AddClicked += () => + { + ebd.CopyValuesToEntity(); + this._towaMessage.Elements.Add(ebd.TOWA); + ebd.TOWA.MessageHeader = _towaMessage; + this.dataGridTowageOnArrival.Items.Refresh(); + ebd.TOWA = new TOWA(); + this.SublistElementChanged(Message.NotificationClass.TOWA); + }; + + if (ebd.ShowDialog() ?? false) + { + towa.MessageHeader = _towaMessage; + _towaMessage.Elements.Add(towa); + this.dataGridTowageOnArrival.Items.Refresh(); + this.SublistElementChanged(Message.NotificationClass.TOWA); + } + } + + private void DataGridTowageOnArrival_DeleteRequested(DatabaseEntity obj) + { + TOWA towa = obj as TOWA; + if (towa != null) + { + // are you sure dialog is in base class + this._towaMessage.Elements.Remove(towa); + DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Delete(towa); + this.dataGridTowageOnArrival.Items.Refresh(); + } + } + + private void DataGridTowageOnArrival_EditRequested(DatabaseEntity obj) + { + TOWA towa = obj as TOWA; + if (towa != null) + { + EditTOWDialog eld = new EditTOWDialog(); + eld.IsDeparture = false; + eld.TOWA = towa; + + eld.AddClicked += () => + { + eld.CopyValuesToEntity(); + _towaMessage.Elements.Add(eld.TOWA); + this.dataGridTowageOnArrival.Items.Refresh(); + eld.TOWA = new TOWA(); + eld.TOWA.MessageHeader = _towaMessage; + this.SublistElementChanged(Message.NotificationClass.TOWA); + }; + + if (eld.ShowDialog() ?? false) + { + this.dataGridTowageOnArrival.Items.Refresh(); + this.SublistElementChanged(Message.NotificationClass.TOWA); + } + } + } + + private void DataGridTowageOnArrival_AddingNewItem(object sender, System.Windows.Controls.AddingNewItemEventArgs e) + { + this.DataGridTowageOnArrival_CreateRequested(); } } } diff --git a/ENI-2/ENI2/ENI2/ENI2.csproj b/ENI-2/ENI2/ENI2/ENI2.csproj index 982ea1e7..8928b6d7 100644 --- a/ENI-2/ENI2/ENI2/ENI2.csproj +++ b/ENI-2/ENI2/ENI2/ENI2.csproj @@ -35,7 +35,7 @@ 3.5.1.0 true publish.html - 3 + 5 3.6.7.%2a false true @@ -248,6 +248,9 @@ EditShip2ShipActivitiesDialog.xaml + + EditTOWDialog.xaml + EditWasteDialog.xaml @@ -388,6 +391,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile diff --git a/ENI-2/ENI2/ENI2/EditControls/EditTOWDialog.xaml b/ENI-2/ENI2/ENI2/EditControls/EditTOWDialog.xaml new file mode 100644 index 00000000..ecfe1542 --- /dev/null +++ b/ENI-2/ENI2/ENI2/EditControls/EditTOWDialog.xaml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ENI-2/ENI2/ENI2/EditControls/EditTOWDialog.xaml.cs b/ENI-2/ENI2/ENI2/EditControls/EditTOWDialog.xaml.cs new file mode 100644 index 00000000..86e386de --- /dev/null +++ b/ENI-2/ENI2/ENI2/EditControls/EditTOWDialog.xaml.cs @@ -0,0 +1,118 @@ +// Copyright (c) 2017 schick Informatik +// Description: Dialog zum Bearbeiten von Towage-Informationen +// + +using System.Windows; + +using bsmd.database; +using ENI2.Controls; + +namespace ENI2.EditControls +{ + /// + /// Interaction logic for EditTOWDialog.xaml + /// + public partial class EditTOWDialog : EditWindowBase + { + public EditTOWDialog() + { + InitializeComponent(); + Loaded += EditTOWDialog_Loaded; + AddClicked += () => { this.textBoxName.Focus(); }; + } + + public bool IsDeparture { get; set; } + + public TOWA TOWA { get; set; } + + public TOWD TOWD { get; set; } + + + private void EditTOWDialog_Loaded(object sender, RoutedEventArgs e) + { + this.Title = this.IsDeparture ? Properties.Resources.textTowageOnDeparture : Properties.Resources.textTowageOnArrival; + + this.textBoxName.Text = this.IsDeparture ? this.TOWD.TowageOnDepartureName : this.TOWA.TowageOnArrivalName; + if (this.IsDeparture) + { + this.labelPurposeOfCall.Visibility = Visibility.Hidden; + this.textBoxPurposeOfCall.Visibility = Visibility.Hidden; + this.labelGrossTonnage.Visibility = Visibility.Hidden; + this.integerUpDownGrossTonnage.Visibility = Visibility.Hidden; + } + else + { + this.textBoxPurposeOfCall.Text = this.TOWA.TowageOnArrivalPurposeOfCall; + this.integerUpDownGrossTonnage.Value = this.TOWA.TowageOnArrivalGrossTonnage; + } + this.doubleUpDownDraught.Value = this.IsDeparture ? this.TOWD.TowageOnDepartureDraught_DMT : this.TOWA.TowageOnArrivalDraught_DMT; + this.doubleUpDownLength.Value = this.IsDeparture ? this.TOWD.TowageOnDepartureLengthOverall_MTR : this.TOWA.TowageOnArrivalLengthOverall_MTR; + this.textBoxRemarks.Text = this.IsDeparture ? this.TOWD.TowageOnDepartureRemarks : this.TOWA.TowageOnArrivalRemarks; + this.comboBoxFlag.ItemsSource = bsmd.database.CREW.NationalityDict; + this.comboBoxFlag.SelectedValue = this.IsDeparture ? this.TOWD.TowageOnDepartureFlag : this.TOWA.TowageOnArrivalFlag; + this.doubleUpDownBeam.Value = this.IsDeparture ? this.TOWD.TowageOnDepartureBeam_MTR : this.TOWA.TowageOnArrivalBeam_MTR; + + this.textBoxOperatorName.Text = this.IsDeparture ? this.TOWD.TowageOnDepartureOperatorCompanyName : this.TOWA.TowageOnArrivalOperatorCompanyName; + this.textBoxStreetNumber.Text = this.IsDeparture ? this.TOWD.TowageOnDepartureOperatorStreetNameAndNumber : this.TOWA.TowageOnArrivalOperatorStreetNameAndNumber; + this.textBoxPostalCode.Text = this.IsDeparture ? this.TOWD.TowageOnDepartureOperatorPostalCode : this.TOWA.TowageOnArrivalOperatorPostalCode; + this.textBoxCountry.Text = this.IsDeparture ? this.TOWD.TowageOnDepartureOperatorCountry : this.TOWA.TowageOnArrivalOperatorCountry; + this.textBoxPhone.Text = this.IsDeparture ? this.TOWD.TowageOnDepartureOperatorPhone : this.TOWA.TowageOnArrivalOperatorPhone; + this.textBoxEMail.Text = this.IsDeparture ? this.TOWD.TowageOnDepartureOperatorEmail : this.TOWA.TowageOnArrivalOperatorEmail; + this.textBoxCity.Text = this.IsDeparture ? this.TOWD.TowageOnDepartureOperatorCity : this.TOWA.TowageOnArrivalOperatorCity; + this.textBoxFax.Text = this.IsDeparture ? this.TOWD.TowageOnDepartureOperatorFax : this.TOWA.TowageOnArrivalOperatorFax; + + this.OKClicked += EditTOWDialog_OKClicked; + this.AddVisible = true; + } + + public void CopyValuesToEntity() + { + if(this.IsDeparture) + { + this.TOWD.TowageOnDepartureName = this.textBoxName.Text.Trim(); + this.TOWD.TowageOnDepartureDraught_DMT = this.doubleUpDownDraught.Value; + this.TOWD.TowageOnDepartureLengthOverall_MTR = this.doubleUpDownLength.Value; + this.TOWD.TowageOnDepartureRemarks = this.textBoxRemarks.Text.Trim(); + this.TOWD.TowageOnDepartureFlag = (string) this.comboBoxFlag.SelectedValue; + this.TOWD.TowageOnDepartureBeam_MTR = this.doubleUpDownBeam.Value; + + this.TOWD.TowageOnDepartureOperatorCompanyName = this.textBoxOperatorName.Text.Trim(); + this.TOWD.TowageOnDepartureOperatorStreetNameAndNumber = this.textBoxStreetNumber.Text.Trim(); + this.TOWD.TowageOnDepartureOperatorPostalCode = this.textBoxPostalCode.Text.Trim(); + this.TOWD.TowageOnDepartureOperatorCountry = this.textBoxCountry.Text.Trim(); + this.TOWD.TowageOnDepartureOperatorPhone = this.textBoxPhone.Text.Trim(); + this.TOWD.TowageOnDepartureOperatorEmail = this.textBoxEMail.Text.Trim(); + this.TOWD.TowageOnDepartureOperatorCity = this.textBoxCity.Text.Trim(); + this.TOWD.TowageOnDepartureOperatorFax = this.textBoxFax.Text.Trim(); + } + else + { + this.TOWA.TowageOnArrivalName = this.textBoxName.Text.Trim(); + this.TOWA.TowageOnArrivalPurposeOfCall = this.textBoxPurposeOfCall.Text.Trim(); + this.TOWA.TowageOnArrivalDraught_DMT = this.doubleUpDownDraught.Value; + this.TOWA.TowageOnArrivalLengthOverall_MTR = this.doubleUpDownLength.Value; + this.TOWA.TowageOnArrivalRemarks = this.textBoxRemarks.Text.Trim(); + this.TOWA.TowageOnArrivalFlag = (string) this.comboBoxFlag.SelectedValue; + this.TOWA.TowageOnArrivalGrossTonnage = this.integerUpDownGrossTonnage.Value; + this.TOWA.TowageOnArrivalBeam_MTR = this.doubleUpDownBeam.Value; + + this.TOWA.TowageOnArrivalOperatorCompanyName = this.textBoxOperatorName.Text.Trim(); + this.TOWA.TowageOnArrivalOperatorStreetNameAndNumber = this.textBoxStreetNumber.Text.Trim(); + this.TOWA.TowageOnArrivalOperatorPostalCode = this.textBoxPurposeOfCall.Text.Trim(); + this.TOWA.TowageOnArrivalOperatorCountry = this.textBoxCountry.Text.Trim(); + this.TOWA.TowageOnArrivalOperatorPhone = this.textBoxPhone.Text.Trim(); + this.TOWA.TowageOnArrivalOperatorEmail = this.textBoxEMail.Text.Trim(); + this.TOWA.TowageOnArrivalOperatorCity = this.textBoxCity.Text.Trim(); + this.TOWA.TowageOnArrivalOperatorFax = this.textBoxFax.Text.Trim(); + } + } + + private void EditTOWDialog_OKClicked() + { + this.CopyValuesToEntity(); + } + + + + } +} diff --git a/ENI-2/ENI2/ENI2/Properties/Resources.Designer.cs b/ENI-2/ENI2/ENI2/Properties/Resources.Designer.cs index 92455f93..e4192837 100644 --- a/ENI-2/ENI2/ENI2/Properties/Resources.Designer.cs +++ b/ENI-2/ENI2/ENI2/Properties/Resources.Designer.cs @@ -2012,6 +2012,15 @@ namespace ENI2.Properties { } } + /// + /// Looks up a localized string similar to Operator. + /// + public static string textOperator { + get { + return ResourceManager.GetString("textOperator", resourceCulture); + } + } + /// /// Looks up a localized string similar to Other. /// @@ -2948,6 +2957,15 @@ namespace ENI2.Properties { } } + /// + /// Looks up a localized string similar to Towage on departure. + /// + public static string textTowageOnDeparture { + get { + return ResourceManager.GetString("textTowageOnDeparture", resourceCulture); + } + } + /// /// Looks up a localized string similar to Transit. /// diff --git a/ENI-2/ENI2/ENI2/Properties/Resources.resx b/ENI-2/ENI2/ENI2/Properties/Resources.resx index c51df2b7..487c37d2 100644 --- a/ENI-2/ENI2/ENI2/Properties/Resources.resx +++ b/ENI-2/ENI2/ENI2/Properties/Resources.resx @@ -1159,4 +1159,10 @@ Details of sanitary measure + + Operator + + + Towage on departure + \ No newline at end of file diff --git a/Stundensheet.xlsx b/Stundensheet.xlsx index 5b12652f2fee60fe222e08d2e8a28318c69a991c..1845ae11c6039d2eebce471c5c01ad47254cedab 100644 GIT binary patch delta 17466 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 RJOS*J1A8L|;dcN40004#()j=Y delta 17426 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 diff --git a/nsw/Source/bsmd.ExcelReadService/Util.cs b/nsw/Source/bsmd.ExcelReadService/Util.cs index 80883f75..04cfeb8e 100644 --- a/nsw/Source/bsmd.ExcelReadService/Util.cs +++ b/nsw/Source/bsmd.ExcelReadService/Util.cs @@ -2210,7 +2210,7 @@ namespace bsmd.ExcelReadService crew.CrewMemberNationality = reader.ReadNationality(crewNationality); crew.CrewMemberPlaceOfBirth = reader.ReadText(crewPlaceOfBirth); - reader.Conf.ConfirmText(crewPlaceOfBirth, crew.CrewMemberPlaceOfBirth, ExcelReader.ReadState.OK); + reader.Conf.ConfirmText(crewPlaceOfBirth, crew.CrewMemberPlaceOfBirth, crew.CrewMemberPlaceOfBirth.IsNullOrEmpty() ? ExcelReader.ReadState.FAIL : ExcelReader.ReadState.OK); crew.CrewMemberDateOfBirth = reader.ReadBirthDate(crewDateOfBirth); @@ -2262,7 +2262,7 @@ namespace bsmd.ExcelReadService crew.CrewMemberNationality = reader.ReadNationality(crewNationality); crew.CrewMemberPlaceOfBirth = reader.ReadText(crewPlaceOfBirth); - reader.Conf.ConfirmText(crewPlaceOfBirth, crew.CrewMemberPlaceOfBirth, ExcelReader.ReadState.OK); + reader.Conf.ConfirmText(crewPlaceOfBirth, crew.CrewMemberPlaceOfBirth, crew.CrewMemberPlaceOfBirth.IsNullOrEmpty() ? ExcelReader.ReadState.FAIL : ExcelReader.ReadState.OK); crew.CrewMemberDateOfBirth = reader.ReadBirthDate(crewDateOfBirth);