diff --git a/ENI-2/ENI2/ENI2/Controls/ENIDataGrid.cs b/ENI-2/ENI2/ENI2/Controls/ENIDataGrid.cs
index 96940938..65dbb705 100644
--- a/ENI-2/ENI2/ENI2/Controls/ENIDataGrid.cs
+++ b/ENI-2/ENI2/ENI2/Controls/ENIDataGrid.cs
@@ -120,8 +120,11 @@ namespace ENI2.Controls
protected void addItem(object sender, RoutedEventArgs e)
{
- if(!this.IsReadOnly)
+ if (!this.IsReadOnly)
+ {
this.CreateRequested?.Invoke();
+ }
+ e.Handled = true;
}
protected void deleteItem(object sender, RoutedEventArgs e)
diff --git a/ENI-2/ENI2/ENI2/Controls/EditWindowBase.cs b/ENI-2/ENI2/ENI2/Controls/EditWindowBase.cs
index 2b743070..8b432708 100644
--- a/ENI-2/ENI2/ENI2/Controls/EditWindowBase.cs
+++ b/ENI-2/ENI2/ENI2/Controls/EditWindowBase.cs
@@ -107,6 +107,13 @@ namespace ENI2.Controls
//System.Diagnostics.Trace.WriteLine("---");
itemsViewOriginal.Refresh();
+
+ if (itemsViewOriginal.Count == 1)
+ {
+ // Treffer: Select?
+ cmb.SelectedItem = itemsViewOriginal.GetItemAt(0);
+ }
+
}
#endregion
diff --git a/ENI-2/ENI2/ENI2/Controls/ReportingPartyControl.xaml b/ENI-2/ENI2/ENI2/Controls/ReportingPartyControl.xaml
new file mode 100644
index 00000000..1406220a
--- /dev/null
+++ b/ENI-2/ENI2/ENI2/Controls/ReportingPartyControl.xaml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ENI-2/ENI2/ENI2/Controls/ReportingPartyControl.xaml.cs b/ENI-2/ENI2/ENI2/Controls/ReportingPartyControl.xaml.cs
new file mode 100644
index 00000000..35595f9c
--- /dev/null
+++ b/ENI-2/ENI2/ENI2/Controls/ReportingPartyControl.xaml.cs
@@ -0,0 +1,90 @@
+// Copyright (c) 2017 schick Informatik
+// Description: Tabelle Reporting Party (bearbeitet wird im Dialog)
+//
+
+using System;
+using System.Windows;
+
+using bsmd.database;
+using ENI2.EditControls;
+using System.Collections.Generic;
+using System.Windows.Controls;
+
+namespace ENI2.Controls
+{
+ ///
+ /// Interaction logic for ReportingPartyControl.xaml
+ ///
+ public partial class ReportingPartyControl : UserControl
+ {
+ public ReportingPartyControl()
+ {
+ InitializeComponent();
+ Loaded += ReportingPartyControl_Loaded;
+ }
+
+ public List ReportingParties { get; set; }
+
+ private void ReportingPartyControl_Loaded(object sender, RoutedEventArgs e)
+ {
+ this.dataGridReportingParties.Initialize();
+ this.dataGridReportingParties.ItemsSource = this.ReportingParties;
+ this.dataGridReportingParties.CreateRequested += DataGridReportingParties_CreateRequested;
+ this.dataGridReportingParties.AddingNewItem += DataGridReportingParties_AddingNewItem;
+ this.dataGridReportingParties.EditRequested += DataGridReportingParties_EditRequested;
+ this.dataGridReportingParties.DeleteRequested += DataGridReportingParties_DeleteRequested;
+
+ }
+
+ #region grid event handler
+
+ private void DataGridReportingParties_DeleteRequested(DatabaseEntity obj)
+ {
+ ReportingParty rp = obj as ReportingParty;
+ if (rp != null)
+ {
+ // are you sure dialog is in base class
+ DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Delete(rp);
+ this.ReportingParties.Remove(rp);
+ this.dataGridReportingParties.Items.Refresh();
+ }
+ }
+
+ private void DataGridReportingParties_EditRequested(DatabaseEntity obj)
+ {
+ ReportingParty rp = obj as ReportingParty;
+ if (rp != null)
+ {
+ EditReportingPartyDialog eld = new EditReportingPartyDialog();
+ eld.ReportingParty = rp;
+
+ if (eld.ShowDialog() ?? false)
+ {
+ this.dataGridReportingParties.Items.Refresh();
+ }
+ }
+ }
+
+ private void DataGridReportingParties_AddingNewItem(object sender, AddingNewItemEventArgs e)
+ {
+ this.DataGridReportingParties_CreateRequested();
+ }
+
+ private void DataGridReportingParties_CreateRequested()
+ {
+ ReportingParty rp = new ReportingParty();
+ EditReportingPartyDialog ebd = new EditReportingPartyDialog();
+ ebd.ReportingParty = rp;
+
+ if (ebd.ShowDialog() ?? false)
+ {
+ DBManager.Instance.GetReportingPartyDict().Add(Guid.NewGuid(), rp);
+ this.ReportingParties.Add(rp);
+ this.dataGridReportingParties.Items.Refresh();
+ }
+ }
+
+ #endregion
+
+ }
+}
diff --git a/ENI-2/ENI2/ENI2/DetailBaseControl.cs b/ENI-2/ENI2/ENI2/DetailBaseControl.cs
index c63bf226..6b526bd6 100644
--- a/ENI-2/ENI2/ENI2/DetailBaseControl.cs
+++ b/ENI-2/ENI2/ENI2/DetailBaseControl.cs
@@ -241,6 +241,13 @@ namespace ENI2
});
itemsViewOriginal.Refresh();
+
+ if(itemsViewOriginal.Count == 1)
+ {
+ // Treffer: Select?
+ cmb.SelectedItem = itemsViewOriginal.GetItemAt(0);
+ }
+
}
#endregion
diff --git a/ENI-2/ENI2/ENI2/DetailRootControl.xaml b/ENI-2/ENI2/ENI2/DetailRootControl.xaml
index 6d73c65d..1cad92f0 100644
--- a/ENI-2/ENI2/ENI2/DetailRootControl.xaml
+++ b/ENI-2/ENI2/ENI2/DetailRootControl.xaml
@@ -5,6 +5,7 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
xmlns:p="clr-namespace:ENI2.Properties"
+ xmlns:util="clr-namespace:ENI2.Util"
xmlns:local="clr-namespace:ENI2"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
@@ -49,7 +50,7 @@
-
+
diff --git a/ENI-2/ENI2/ENI2/DetailRootControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailRootControl.xaml.cs
index 3d170931..39bcf2e3 100644
--- a/ENI-2/ENI2/ENI2/DetailRootControl.xaml.cs
+++ b/ENI-2/ENI2/ENI2/DetailRootControl.xaml.cs
@@ -26,7 +26,7 @@ namespace ENI2
private MessageCore _core;
private List _listBoxList = new List();
private List _messages;
- private Dictionary controlCache = new Dictionary();
+ private Dictionary controlCache = new Dictionary();
private Guid userId = Guid.NewGuid(); // remove THIS!!
private object messageListLock = new object();
@@ -105,7 +105,7 @@ namespace ENI2
if(listBoxMessages.SelectedItem != null)
{
MessageGroup mg = this.listBoxMessages.SelectedItem as MessageGroup;
- if (!controlCache.ContainsKey(mg.MessageGroupControlType))
+ if (!controlCache.ContainsKey(mg.MessageGroupName))
{
// create control instance for display:
DetailBaseControl detailControl = (DetailBaseControl)Activator.CreateInstance(mg.MessageGroupControlType);
@@ -133,14 +133,14 @@ namespace ENI2
if (!detailControl.IsEnabled && (detailControl is OverViewDetailControl))
((OverViewDetailControl)detailControl).ShowLockedBy(this.LockedBy);
- controlCache.Add(mg.MessageGroupControlType, detailControl);
+ controlCache.Add(mg.MessageGroupName, detailControl);
this.buttonSave.Visibility = Visibility.Hidden;
}
else
{
// Control has been created before: Set visibility of "save" button:
bool hasDirtyMessages = false;
- DetailBaseControl dbc = controlCache[mg.MessageGroupControlType];
+ DetailBaseControl dbc = controlCache[mg.MessageGroupName];
foreach (Message message in dbc.ControlMessages)
if (message.IsDirty)
hasDirtyMessages = true;
@@ -149,7 +149,7 @@ namespace ENI2
// plug it in ;-)
detailView.Children.Clear();
- detailView.Children.Add(controlCache[mg.MessageGroupControlType]);
+ detailView.Children.Add(controlCache[mg.MessageGroupName]);
}
}
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/ArrivalNotificationDetailControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailViewControls/ArrivalNotificationDetailControl.xaml.cs
index 29f1fb80..c9c5044f 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/ArrivalNotificationDetailControl.xaml.cs
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/ArrivalNotificationDetailControl.xaml.cs
@@ -171,6 +171,7 @@ namespace ENI2.DetailViewControls
if (brka != null)
{
// are you sure dialog is in base class
+ DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Delete(brka);
this._bkraMessage.Elements.Remove(brka);
this.dataGridBKRA.Items.Refresh();
}
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml b/ENI-2/ENI2/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml
index 198e2fc3..89c384de 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml
@@ -33,7 +33,7 @@
-
+
-
+
-
-
+
+
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml b/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml
index 3ed13ccc..2f36900f 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml
@@ -7,9 +7,10 @@
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
xmlns:enictrl="clr-namespace:ENI2.Controls"
xmlns:p="clr-namespace:ENI2.Properties"
+ xmlns:util="clr-namespace:ENI2.Util"
xmlns:local="clr-namespace:ENI2.DetailViewControls"
mc:Ignorable="d"
- d:DesignHeight="300" d:DesignWidth="600">
+ d:DesignHeight="300" d:DesignWidth="800">