diff --git a/Elwig/Dialogs/DeliveryExtractionDialog.xaml b/Elwig/Dialogs/DeliveryExtractionDialog.xaml
new file mode 100644
index 0000000..276cc95
--- /dev/null
+++ b/Elwig/Dialogs/DeliveryExtractionDialog.xaml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Was soll mit der Teillieferung
+ von geschehen?
+
+
+
+
+
+
+
+
+
+
diff --git a/Elwig/Dialogs/DeliveryExtractionDialog.xaml.cs b/Elwig/Dialogs/DeliveryExtractionDialog.xaml.cs
new file mode 100644
index 0000000..b2b8966
--- /dev/null
+++ b/Elwig/Dialogs/DeliveryExtractionDialog.xaml.cs
@@ -0,0 +1,37 @@
+using System.Collections.Generic;
+using System.Windows;
+
+namespace Elwig.Dialogs {
+ public partial class DeliveryExtractionDialog : Window {
+
+ public string? AddTo;
+
+ public DeliveryExtractionDialog(string lsnr, string name, bool single, IEnumerable lsnrs) {
+ InitializeComponent();
+ TextLsNr.Text = lsnr;
+ TextMember.Text = name;
+ NewDeliveryButton.IsEnabled = !single;
+ DeliveryList.IsEnabled = false;
+ DeliveryList.ItemsSource = lsnrs;
+ }
+
+ private void ConfirmButton_Click(object sender, RoutedEventArgs evt) {
+ DialogResult = true;
+ AddTo = NewDeliveryButton.IsChecked == true ? "new" : DeliveryList.SelectedItem as string;
+ Close();
+ }
+
+ private void UpdateButtons() {
+ ConfirmButton.IsEnabled = NewDeliveryButton.IsChecked == true || (AddToDeliveryButton.IsChecked == true && DeliveryList.SelectedItem != null);
+ DeliveryList.IsEnabled = AddToDeliveryButton.IsChecked == true;
+ }
+
+ private void Selection_Changed(object sender, RoutedEventArgs evt) {
+ UpdateButtons();
+ }
+
+ private void DeliveryList_SelectionChanged(object sender, RoutedEventArgs evt) {
+ UpdateButtons();
+ }
+ }
+}
diff --git a/Elwig/Helpers/Utils.cs b/Elwig/Helpers/Utils.cs
index 0352c43..024ceeb 100644
--- a/Elwig/Helpers/Utils.cs
+++ b/Elwig/Helpers/Utils.cs
@@ -223,6 +223,11 @@ namespace Elwig.Helpers {
return d.ShowDialog() == true ? d.Weight : null;
}
+ public static string? ShowDeliveryExtractionDialog(string lsnr, string name, bool single, IEnumerable lsnrs) {
+ var d = new DeliveryExtractionDialog(lsnr, name, single, lsnrs);
+ return d.ShowDialog() == true ? d.AddTo : null;
+ }
+
public static Footer GenerateFooter(string lineBreak, string seperator) {
return new Footer(lineBreak, seperator);
}