diff --git a/ENI-2/ENI2/ENI2/App.config b/ENI-2/ENI2/ENI2/App.config
index f39c4f5a..2b0bf49c 100644
--- a/ENI-2/ENI2/ENI2/App.config
+++ b/ENI-2/ENI2/ENI2/App.config
@@ -26,12 +26,12 @@
1000
- http://192.168.2.4/LockingService/LockingService.svc
-
+
+ http://heupferd/bsmd.LockingService/LockingService.svc
- Data Source=192.168.2.12;Initial Catalog=nsw;Uid=dfuser;Pwd=dfpasswd;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False
-
+
+ Data Source=(localdb)\Projects;Initial Catalog=nsw;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False
diff --git a/ENI-2/ENI2/ENI2/Controls/ConditionGroupControl.xaml b/ENI-2/ENI2/ENI2/Controls/ConditionGroupControl.xaml
new file mode 100644
index 00000000..9c57870e
--- /dev/null
+++ b/ENI-2/ENI2/ENI2/Controls/ConditionGroupControl.xaml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ENI-2/ENI2/ENI2/Controls/ConditionGroupControl.xaml.cs b/ENI-2/ENI2/ENI2/Controls/ConditionGroupControl.xaml.cs
new file mode 100644
index 00000000..0d630dd8
--- /dev/null
+++ b/ENI-2/ENI2/ENI2/Controls/ConditionGroupControl.xaml.cs
@@ -0,0 +1,30 @@
+// Copyright (c) 2017 schick Informatik
+// Description: Plugin Control zur Auswahl der bool'schen Gruppenoperation
+//
+
+using System.Windows;
+using System.Windows.Controls;
+
+using bsmd.database;
+
+namespace ENI2.Controls
+{
+ ///
+ /// Interaction logic for ConditionGroupControl.xaml
+ ///
+ public partial class ConditionGroupControl : UserControl
+ {
+ public ConditionGroupControl()
+ {
+ InitializeComponent();
+ Loaded += ConditionGroupControl_Loaded;
+ }
+
+ public ConditionGroup ConditionGroup { get; set; }
+
+ private void ConditionGroupControl_Loaded(object sender, RoutedEventArgs e)
+ {
+ this.DataContext = this.ConditionGroup;
+ }
+ }
+}
diff --git a/ENI-2/ENI2/ENI2/Controls/ENIDataGrid.cs b/ENI-2/ENI2/ENI2/Controls/ENIDataGrid.cs
index 561645b5..47af50e7 100644
--- a/ENI-2/ENI2/ENI2/Controls/ENIDataGrid.cs
+++ b/ENI-2/ENI2/ENI2/Controls/ENIDataGrid.cs
@@ -3,22 +3,15 @@
//
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 System.Windows.Controls.Primitives;
+using System.Collections.Generic;
namespace ENI2.Controls
{
@@ -171,15 +164,22 @@ namespace ENI2.Controls
protected void deleteItem(object sender, RoutedEventArgs e)
{
- if((this.SelectedItems != null) && (this.SelectedItems.Count == 1) && !this.IsReadOnly)
+ if((this.SelectedItems != null) && (this.SelectedItems.Count > 0) && !this.IsReadOnly)
{
MessageBoxResult result = MessageBox.Show(Properties.Resources.textAreYouSure, Properties.Resources.textCaptionDeleteConfirm, MessageBoxButton.YesNo, MessageBoxImage.Question);
if (result == MessageBoxResult.Yes)
{
- DatabaseEntity deleteItem = this.SelectedItems[0] as DatabaseEntity;
- if (deleteItem != null) {
- this.DeleteRequested?.Invoke(deleteItem);
- }
+ List deleteList = new List();
+ foreach (DatabaseEntity deleteItem in this.SelectedItems)
+ deleteList.Add(deleteItem);
+
+ foreach (DatabaseEntity deleteItem in deleteList)
+ {
+ if (deleteItem != null)
+ {
+ this.DeleteRequested?.Invoke(deleteItem);
+ }
+ }
}
}
}
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/ArrivalNotificationDetailControl.xaml b/ENI-2/ENI2/ENI2/DetailViewControls/ArrivalNotificationDetailControl.xaml
index ded673a4..080d9eea 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/ArrivalNotificationDetailControl.xaml
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/ArrivalNotificationDetailControl.xaml
@@ -68,6 +68,7 @@
+
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml b/ENI-2/ENI2/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml
index be8ebd79..7f4d09b8 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml
@@ -35,8 +35,9 @@
+ AutoGenerateColumns="False" Margin="0,5,0,0">
+
@@ -54,8 +55,9 @@
+ AutoGenerateColumns="False" Margin="0,5,0,0">
+
@@ -80,8 +82,9 @@
+ AutoGenerateColumns="False" Margin="0,5,0,0">
+
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml.cs
index 794103ea..e07efd70 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml.cs
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml.cs
@@ -353,56 +353,65 @@ namespace ENI2.DetailViewControls
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "Excel Files|*.xls;*.xlsx";
- if(ofd.ShowDialog() ?? false)
+ if (ofd.ShowDialog() ?? false)
{
- using (var stream = File.Open(ofd.FileName, FileMode.Open, FileAccess.Read))
+ FileStream stream = null;
+ try
{
- using (var reader = ExcelReaderFactory.CreateReader(stream))
+ stream = File.Open(ofd.FileName, FileMode.Open, FileAccess.Read);
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
+ return;
+ }
+
+ using (var reader = ExcelReaderFactory.CreateReader(stream))
+ {
+ List importCrew = new List();
+
+ try
{
- List importCrew = new List();
-
- try
+ do
{
-
- do
+ while (reader.Read())
{
- while (reader.Read())
+ CREW crew = new CREW();
+ if (reader.IsDBNull(0) && reader.IsDBNull(1)) continue;
+ if (!reader.IsDBNull(0)) crew.CrewMemberLastName = reader.GetString(0);
+ if (!reader.IsDBNull(1)) crew.CrewMemberFirstName = reader.GetString(1);
+ if (!reader.IsDBNull(2)) crew.CrewMemberGender = GlobalStructures.ParseGender(reader.GetString(2));
+ if (!reader.IsDBNull(3)) crew.CrewMemberNationality = reader.GetString(3).Substring(0, 2);
+ if (!reader.IsDBNull(4)) crew.CrewMemberDuty = reader.GetString(4);
+ if (!reader.IsDBNull(5)) crew.CrewMemberPlaceOfBirth = reader.GetString(5);
+ if (!reader.IsDBNull(6))
{
- CREW crew = new CREW();
- if (reader.IsDBNull(0) && reader.IsDBNull(1)) continue;
- if (!reader.IsDBNull(0)) crew.CrewMemberLastName = reader.GetString(0);
- if (!reader.IsDBNull(1)) crew.CrewMemberFirstName = reader.GetString(1);
- if (!reader.IsDBNull(2)) crew.CrewMemberGender = GlobalStructures.ParseGender(reader.GetString(2));
- if (!reader.IsDBNull(3)) crew.CrewMemberNationality = reader.GetString(3).Substring(0, 2);
- if (!reader.IsDBNull(4)) crew.CrewMemberDuty = reader.GetString(4);
- if (!reader.IsDBNull(5)) crew.CrewMemberPlaceOfBirth = reader.GetString(5);
- if (!reader.IsDBNull(6))
- {
- crew.CrewMemberDateOfBirth = reader.GetDateTime(6);
- }
- if (!reader.IsDBNull(7)) crew.CrewMemberIdentityDocumentType = GlobalStructures.ReadIdentityDocumentType(reader.GetString(7));
- if (!reader.IsDBNull(8)) crew.CrewMemberIdentityDocumentId = this.getValueAsString(reader, 8);
- if (!reader.IsDBNull(9)) crew.CrewMemberVisaNumber = this.getValueAsString(reader, 9);
-
- crew.MessageHeader = this._crewMessage;
- crew.Identifier = CREW.GetNewIdentifier(this._crewMessage.Elements);
- importCrew.Add(crew);
+ crew.CrewMemberDateOfBirth = reader.GetDateTime(6);
}
- } while (reader.NextResult());
- }
- catch(Exception ex)
- {
- MessageBox.Show("Error reading Excel: " + ex.Message, Properties.Resources.textCaptionError, MessageBoxButton.OK, MessageBoxImage.Error);
- }
+ if (!reader.IsDBNull(7)) crew.CrewMemberIdentityDocumentType = GlobalStructures.ReadIdentityDocumentType(reader.GetString(7));
+ if (!reader.IsDBNull(8)) crew.CrewMemberIdentityDocumentId = this.getValueAsString(reader, 8);
+ if (!reader.IsDBNull(9)) crew.CrewMemberVisaNumber = this.getValueAsString(reader, 9);
- if(importCrew.Count > 0)
- {
- this._crewMessage.Elements.AddRange(importCrew);
- this.dataGridCrewList.Items.Refresh();
- this.SublistElementChanged(Message.NotificationClass.CREW);
- }
+ crew.MessageHeader = this._crewMessage;
+ crew.Identifier = CREW.GetNewIdentifier(this._crewMessage.Elements);
+ importCrew.Add(crew);
+ }
+ } while (reader.NextResult());
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show("Error reading Excel: " + ex.Message, Properties.Resources.textCaptionError, MessageBoxButton.OK, MessageBoxImage.Error);
+ }
+
+ if (importCrew.Count > 0)
+ {
+ this._crewMessage.Elements.AddRange(importCrew);
+ this.dataGridCrewList.Items.Refresh();
+ this.SublistElementChanged(Message.NotificationClass.CREW);
}
}
+
+ stream.Close();
}
}
@@ -412,59 +421,68 @@ namespace ENI2.DetailViewControls
ofd.Filter = "Excel Files|*.xls;*.xlsx";
if (ofd.ShowDialog() ?? false)
{
- using (var stream = File.Open(ofd.FileName, FileMode.Open, FileAccess.Read))
+ FileStream stream = null;
+ try
{
- using (var reader = ExcelReaderFactory.CreateReader(stream))
+ stream = File.Open(ofd.FileName, FileMode.Open, FileAccess.Read);
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
+ return;
+ }
+
+ using (var reader = ExcelReaderFactory.CreateReader(stream))
+ {
+ List importPassenger = new List();
+
+ try
{
- List importPassenger = new List();
-
- try
+ do
{
- do
+ while (reader.Read())
{
- while (reader.Read())
+ PAS pas = new PAS();
+ if (reader.IsDBNull(0) && reader.IsDBNull(1)) continue;
+ if (!reader.IsDBNull(0)) pas.PassengerLastName = reader.GetString(0);
+ if (!reader.IsDBNull(1)) pas.PassengerFirstName = reader.GetString(1);
+ if (!reader.IsDBNull(2)) pas.PassengerGender = GlobalStructures.ParseGender(reader.GetString(2));
+ if (!reader.IsDBNull(3)) pas.PassengerNationality = reader.GetString(3).Substring(0, 2);
+ if (!reader.IsDBNull(4)) pas.PassengerPortOfEmbarkation = reader.GetString(4);
+ if (LocodeDB.PortNameFromLocode(pas.PassengerPortOfEmbarkation) == null)
+ pas.PassengerPortOfEmbarkation = null;
+ if (!reader.IsDBNull(5)) pas.PassengerPortOfDisembarkation = reader.GetString(5);
+ if (LocodeDB.PortNameFromLocode(pas.PassengerPortOfDisembarkation) == null)
+ pas.PassengerPortOfDisembarkation = null;
+ if (!reader.IsDBNull(6)) pas.PassengerInTransit = GlobalStructures.ReadBoolean(reader.GetString(6));
+ if (!reader.IsDBNull(7)) pas.PassengerPlaceOfBirth = reader.GetString(7);
+ if (!reader.IsDBNull(8))
{
- PAS pas = new PAS();
- if (reader.IsDBNull(0) && reader.IsDBNull(1)) continue;
- if (!reader.IsDBNull(0)) pas.PassengerLastName = reader.GetString(0);
- if (!reader.IsDBNull(1)) pas.PassengerFirstName = reader.GetString(1);
- if (!reader.IsDBNull(2)) pas.PassengerGender = GlobalStructures.ParseGender(reader.GetString(2));
- if (!reader.IsDBNull(3)) pas.PassengerNationality = reader.GetString(3).Substring(0, 2);
- if (!reader.IsDBNull(4)) pas.PassengerPortOfEmbarkation = reader.GetString(4);
- if (LocodeDB.PortNameFromLocode(pas.PassengerPortOfEmbarkation) == null)
- pas.PassengerPortOfEmbarkation = null;
- if (!reader.IsDBNull(5)) pas.PassengerPortOfDisembarkation = reader.GetString(5);
- if (LocodeDB.PortNameFromLocode(pas.PassengerPortOfDisembarkation) == null)
- pas.PassengerPortOfDisembarkation = null;
- if (!reader.IsDBNull(6)) pas.PassengerInTransit = GlobalStructures.ReadBoolean(reader.GetString(6));
- if (!reader.IsDBNull(7)) pas.PassengerPlaceOfBirth = reader.GetString(7);
- if (!reader.IsDBNull(8))
- {
- pas.PassengerDateOfBirth = reader.GetDateTime(8);
- }
- if (!reader.IsDBNull(9)) pas.PassengerIdentityDocumentType = GlobalStructures.ReadIdentityDocumentType(reader.GetString(9));
- if (!reader.IsDBNull(10)) pas.PassengerIdentityDocumentId = this.getValueAsString(reader, 10);
- if (!reader.IsDBNull(11)) pas.PassengerVisaNumber = this.getValueAsString(reader, 11);
-
- pas.MessageHeader = this._pasMessage;
- pas.Identifier = PAS.GetNewIdentifier(this._pasMessage.Elements);
- importPassenger.Add(pas);
+ pas.PassengerDateOfBirth = reader.GetDateTime(8);
}
- } while (reader.NextResult());
- }
- catch (Exception ex)
- {
- MessageBox.Show("Error reading Excel: " + ex.Message, Properties.Resources.textCaptionError, MessageBoxButton.OK, MessageBoxImage.Error);
- }
+ if (!reader.IsDBNull(9)) pas.PassengerIdentityDocumentType = GlobalStructures.ReadIdentityDocumentType(reader.GetString(9));
+ if (!reader.IsDBNull(10)) pas.PassengerIdentityDocumentId = this.getValueAsString(reader, 10);
+ if (!reader.IsDBNull(11)) pas.PassengerVisaNumber = this.getValueAsString(reader, 11);
- if (importPassenger.Count > 0)
- {
- this._pasMessage.Elements.AddRange(importPassenger);
- this.dataGridPassengerList.Items.Refresh();
- this.SublistElementChanged(Message.NotificationClass.PAS);
- }
+ pas.MessageHeader = this._pasMessage;
+ pas.Identifier = PAS.GetNewIdentifier(this._pasMessage.Elements);
+ importPassenger.Add(pas);
+ }
+ } while (reader.NextResult());
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show("Error reading Excel: " + ex.Message, Properties.Resources.textCaptionError, MessageBoxButton.OK, MessageBoxImage.Error);
+ }
+
+ if (importPassenger.Count > 0)
+ {
+ this._pasMessage.Elements.AddRange(importPassenger);
+ this.dataGridPassengerList.Items.Refresh();
+ this.SublistElementChanged(Message.NotificationClass.PAS);
}
}
+ stream.Close();
}
}
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml b/ENI-2/ENI2/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml
index 1b157f50..84376e08 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml
@@ -37,7 +37,7 @@
+ AutoGenerateColumns="False" Margin="0,5,0,0">
@@ -80,7 +80,7 @@
+ AutoGenerateColumns="False" Margin="0,5,0,0">
@@ -99,7 +99,7 @@
+ AutoGenerateColumns="False" Margin="0,5,0,0">
@@ -115,7 +115,7 @@
+ AutoGenerateColumns="False" Margin="0,5,0,0">
@@ -132,7 +132,7 @@
+ AutoGenerateColumns="False" Margin="0,5,0,0">
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/DepartureNotificationDetailControl.xaml b/ENI-2/ENI2/ENI2/DetailViewControls/DepartureNotificationDetailControl.xaml
index 4e399da7..9d7998a3 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/DepartureNotificationDetailControl.xaml
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/DepartureNotificationDetailControl.xaml
@@ -66,8 +66,9 @@
+ AutoGenerateColumns="False" Margin="0,5,0,0">
+
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml b/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml
index 6b3f396c..4a7efbe7 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml
@@ -88,6 +88,7 @@
+
@@ -110,19 +111,22 @@
-
-
-
+
+
+
+
+
-
-
+
+
@@ -144,6 +148,7 @@
+
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml b/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml
index 584bd4fc..3bf6d25b 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml
@@ -107,6 +107,8 @@
-->
+
+
+
+
+
+
+
+
+
+
+
+
+
+