Delete button for deliveries works

This commit is contained in:
2023-08-01 13:35:27 +02:00
parent a62fb9ab16
commit 704337aa1d
2 changed files with 39 additions and 19 deletions

View File

@ -100,8 +100,10 @@ namespace Elwig.Windows {
protected override void UpdateButtons() {
if (!IsEditing && !IsCreating) return;
bool ch = HasChanged, v = IsValid;
ResetButton.IsEnabled = (ch);
SaveButton.IsEnabled = (v && ch);
ResetButton.IsEnabled = ch;
SaveButton.IsEnabled = v && ch;
FinishButton.IsEnabled = v && ch;
NewDeliveryPartButton.IsEnabled = v && ch;
}
private async Task RefreshDeliveryList() {
@ -219,8 +221,8 @@ namespace Elwig.Windows {
GerebeltGewogenInput.IsChecked = p?.IsGerebelt ?? false;
ControlUtils.SelectCheckComboBoxItems(ModifiersInput, p?.Modifiers, i => (i as Modifier)?.ModId);
PartCommentInput.Text = p?.Comment ?? "";
TemperatureInput.Text = p?.Temperature?.ToString() ?? "";
AcidInput.Text = p?.Acid?.ToString() ?? "";
TemperatureInput.Text = (p != null && p.Temperature != null) ? $"{p.Temperature:N1}" : "";
AcidInput.Text = (p != null && p.Acid != null) ? $"{p.Acid:N1}" : "";
LesewagenInput.IsChecked = p?.IsLesewagen ?? false;
HandPickedInput.IsChecked = p?.IsHandPicked;
@ -382,7 +384,7 @@ namespace Elwig.Windows {
AbwertenButton.IsEnabled = true;
EditDeliveryButton.IsEnabled = true;
ExtractDeliveryPartButton.IsEnabled = true;
DeleteDeliveryPartButton.IsEnabled = true;
DeleteDeliveryPartButton.IsEnabled = DeliveryList.SelectedItem is Delivery { Parts.Count: > 1 };
} else {
AbwertenButton.IsEnabled = false;
EditDeliveryButton.IsEnabled = false;
@ -469,9 +471,19 @@ namespace Elwig.Windows {
DeleteDeliveryPartButton.IsEnabled = false;
}
private void DeleteDeliveryButton_Click(object sender, RoutedEventArgs evt) {
// TODO delete dialog
// TODO delete delivery
private async void DeleteDeliveryButton_Click(object sender, RoutedEventArgs evt) {
if (DeliveryList.SelectedItem is not Delivery d)
return;
var r = MessageBox.Show(
$"Soll die Lieferung {d.LsNr} ({d.Member.AdministrativeName}, MgNr. {d.Member.MgNr}) wirklich unwiderruflich gelöscht werden?",
"Lieferung löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No);
if (r == MessageBoxResult.Yes) {
Context.Remove(d);
await Context.SaveChangesAsync();
await RefreshDeliveryList();
RefreshDeliveryParts();
}
}
private async void SaveButton_Click(object sender, RoutedEventArgs evt) {
@ -528,8 +540,18 @@ namespace Elwig.Windows {
// TODO extract delivery part
}
private void DeleteDeliveryPartButton_Click(object sender, RoutedEventArgs evt) {
// TODO delete delivery part
private async void DeleteDeliveryPartButton_Click(object sender, RoutedEventArgs evt) {
if (DeliveryPartList.SelectedItem is not DeliveryPart p)
return;
var r = MessageBox.Show(
$"Soll die Teillieferung Nr. {p.DPNr} wirklich unwiderruflich gelöscht werden?",
"Lieferung löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No);
if (r == MessageBoxResult.Yes) {
Context.Remove(p);
await Context.SaveChangesAsync();
RefreshDeliveryParts();
}
}
private void ShowSaveResetCancelButtons() {