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() {

View File

@ -190,15 +190,13 @@ namespace Elwig.Windows {
}
private async void DeleteMemberButton_Click(object sender, RoutedEventArgs evt) {
Member m = (Member)MemberList.SelectedItem;
if (m == null) return;
if (MemberList.SelectedItem is not Member m)
return;
var r = MessageBox.Show(
$"Soll das Mitglied \"{m.FamilyName} {m.GivenName}\" (MgNr. {m.MgNr}) wirklich unwiderruflich gelöscht werden?",
$"Soll das Mitglied \"{m.AdministrativeName}\" (MgNr. {m.MgNr}) wirklich unwiderruflich gelöscht werden?",
"Mitglied löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No);
if (r == MessageBoxResult.Yes) {
DeleteMemberButton.IsEnabled = false;
EditMemberButton.IsEnabled = false;
Context.Remove(m);
await Context.SaveChangesAsync();
await RefreshMemberList();
@ -514,18 +512,18 @@ namespace Elwig.Windows {
FillOriginalValues();
}
new protected void ClearInputs() {
new protected void ClearInputs(bool validate = false) {
Menu_Member_SendEmail.IsEnabled = false;
AreaCommitment.Text = "- m²";
Age.Text = "-";
base.ClearInputs();
base.ClearInputs(validate);
}
override protected 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;
}
protected void InputTextChanged(TextBox input, Func<TextBox, bool, AppDbContext, Member?, ValidationResult> checker) {