diff --git a/Elwig/Windows/DeliveryAdminWindow.xaml b/Elwig/Windows/DeliveryAdminWindow.xaml
index 6f178dd..29f7935 100644
--- a/Elwig/Windows/DeliveryAdminWindow.xaml
+++ b/Elwig/Windows/DeliveryAdminWindow.xaml
@@ -104,6 +104,18 @@
+
+
+
+
diff --git a/Elwig/Windows/DeliveryAdminWindow.xaml.cs b/Elwig/Windows/DeliveryAdminWindow.xaml.cs
index 7e378bb..a3f4e3b 100644
--- a/Elwig/Windows/DeliveryAdminWindow.xaml.cs
+++ b/Elwig/Windows/DeliveryAdminWindow.xaml.cs
@@ -74,16 +74,28 @@ namespace Elwig.Windows {
OnSecondPassed(null, null);
Timer.Start();
LockInputs();
+ if (IsReceipt) NewDeliveryButton_Click(null, null);
}
private void OnSecondPassed(object? sender, EventArgs? evt) {
- if (IsReceipt && (IsEditing || IsCreating)) {
+ if (IsReceipt && IsCreating) {
var now = DateTime.Now;
TimeInput.Text = now.ToString("HH:mm");
DateInput.Text = now.ToString("dd.MM.yyyy");
}
}
+ private void InitInputs() {
+ ControlUtils.SelectComboBoxItem(BranchInput, i => (i as Branch)?.ZwstId, App.ZwstId);
+ OnSecondPassed(null, null);
+ UpdateLsNr().GetAwaiter().GetResult();
+ HandPickedInput.IsChecked = null;
+ // FIXME if Matzen
+ GerebeltGewogenInput.IsChecked = true;
+ FillOriginalValues();
+ ValidateRequiredInputs();
+ }
+
protected override void UpdateButtons() {
if (!IsEditing && !IsCreating) return;
bool ch = HasChanged, v = IsValid;
@@ -277,12 +289,41 @@ namespace Elwig.Windows {
}
}
- private void NewDeliveryButton_Click(object sender, RoutedEventArgs evt) {
+ private void FinishButton_Click(object sender, RoutedEventArgs evt) {
+ // TODO finish (save) and print
+ }
+ private void NewDeliveryPartButton_Click(object sender, RoutedEventArgs evt) {
+ // TODO new delivery part
+ }
+
+ private void CancelCreatingButton_Click(object sender, RoutedEventArgs evt) {
+ IsCreating = false;
+ IsEditing = false;
+ DeliveryList.IsEnabled = true;
+ DeliveryPartList.IsEnabled = true;
+ HideFinishNewPartDeliveryCancelButtons();
+ ShowNewEditDeleteButtons();
+ RefreshInputs();
+ ClearInputStates();
+ LockInputs();
+ UnlockSearchInputs();
+ }
+
+ private void NewDeliveryButton_Click(object? sender, RoutedEventArgs? evt) {
+ IsCreating = true;
+ DeliveryList.IsEnabled = false;
+ DeliveryPartList.IsEnabled = false;
+ DeliveryList.SelectedItem = null;
+ HideNewEditDeleteButtons();
+ ShowFinishNewPartDeliveryCancelButtons();
+ UnlockInputs();
+ InitInputs();
+ LockSearchInputs();
}
private void AbwertenButton_Click(object sender, RoutedEventArgs evt) {
-
+ // TODO abwerten dialog
}
private void EditDeliveryButton_Click(object sender, RoutedEventArgs evt) {
@@ -304,11 +345,12 @@ namespace Elwig.Windows {
}
private void DeleteDeliveryButton_Click(object sender, RoutedEventArgs evt) {
-
+ // TODO delete dialog
+ // TODO delete delivery
}
private void SaveButton_Click(object sender, RoutedEventArgs evt) {
-
+ // TODO save delivery (part)
}
private void ResetButton_Click(object sender, RoutedEventArgs evt) {
@@ -316,7 +358,7 @@ namespace Elwig.Windows {
RefreshInputs();
} else if (IsCreating) {
ClearInputs();
- //InitInputs(); TODO
+ InitInputs();
}
UpdateButtons();
}
@@ -340,14 +382,13 @@ namespace Elwig.Windows {
}
private void ExtractDeliveryPartButton_Click(object sender, RoutedEventArgs evt) {
-
+ // TODO extract delivery part
}
private void DeleteDeliveryPartButton_Click(object sender, RoutedEventArgs evt) {
-
+ // TODO delete delivery part
}
-
private void ShowSaveResetCancelButtons() {
SaveButton.IsEnabled = false;
ResetButton.IsEnabled = false;
@@ -388,6 +429,24 @@ namespace Elwig.Windows {
DeleteDeliveryButton.Visibility = Visibility.Hidden;
}
+ private void ShowFinishNewPartDeliveryCancelButtons() {
+ FinishButton.IsEnabled = IsCreating && IsValid;
+ NewDeliveryPartButton.IsEnabled = IsCreating && IsValid;
+ CancelCreatingButton.IsEnabled = true;
+ FinishButton.Visibility = Visibility.Visible;
+ NewDeliveryPartButton.Visibility = Visibility.Visible;
+ CancelCreatingButton.Visibility = Visibility.Visible;
+ }
+
+ private void HideFinishNewPartDeliveryCancelButtons() {
+ FinishButton.IsEnabled = false;
+ NewDeliveryPartButton.IsEnabled = false;
+ CancelCreatingButton.IsEnabled = false;
+ FinishButton.Visibility = Visibility.Hidden;
+ NewDeliveryPartButton.Visibility = Visibility.Hidden;
+ CancelCreatingButton.Visibility = Visibility.Hidden;
+ }
+
private void LockSearchInputs() {
SearchInput.IsEnabled = false;
TodayOnlyInput.IsEnabled = false;
@@ -416,10 +475,14 @@ namespace Elwig.Windows {
}
private async Task UpdateLsNr() {
- var branch = (Branch)BranchInput.SelectedItem;
- var date = DateOnly.ParseExact(DateInput.Text, "dd.MM.yyyy");
- var lnr = await Context.NextLNr(date);
- LsNrInput.Text = $"{date:yyyyMMdd}{branch.ZwstId}{lnr:000}";
+ if (DateInput.Text == "" || BranchInput.SelectedItem == null) {
+ LsNrInput.Text = "";
+ } else {
+ var branch = (Branch)BranchInput.SelectedItem;
+ var date = DateOnly.ParseExact(DateInput.Text, "dd.MM.yyyy");
+ var lnr = await Context.NextLNr(date);
+ LsNrInput.Text = $"{date:yyyyMMdd}{branch.ZwstId}{lnr:000}";
+ }
}
private void DateInput_TextChanged(object sender, TextChangedEventArgs evt) {