From 70f9ce0d586dd7239b5c670a3ed0142b97210998 Mon Sep 17 00:00:00 2001 From: Claudio Schaad Date: Sat, 4 Jul 2026 08:32:34 +0200 Subject: [PATCH] PR U-2: guard TransactionDialog.SaveAsync against a cleared date Guard SaveAsync against a null SelectedValue (previously SelectedValue!.Value threw InvalidOperationException) and disable the Save button while the date is empty so the user gets a visible cue. Co-Authored-By: Claude Opus 4.7 --- .../Components/Pages/Dialogs/TransactionDialog.razor | 1 + .../Components/Pages/Dialogs/TransactionDialog.razor.cs | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Schaad.Accounting.UI/Components/Pages/Dialogs/TransactionDialog.razor b/Schaad.Accounting.UI/Components/Pages/Dialogs/TransactionDialog.razor index 427959a..801950b 100644 --- a/Schaad.Accounting.UI/Components/Pages/Dialogs/TransactionDialog.razor +++ b/Schaad.Accounting.UI/Components/Pages/Dialogs/TransactionDialog.razor @@ -56,6 +56,7 @@ Abbrechen Speichern diff --git a/Schaad.Accounting.UI/Components/Pages/Dialogs/TransactionDialog.razor.cs b/Schaad.Accounting.UI/Components/Pages/Dialogs/TransactionDialog.razor.cs index 2bdc942..9268a26 100644 --- a/Schaad.Accounting.UI/Components/Pages/Dialogs/TransactionDialog.razor.cs +++ b/Schaad.Accounting.UI/Components/Pages/Dialogs/TransactionDialog.razor.cs @@ -34,10 +34,14 @@ public partial class TransactionDialog : ComponentBase private async Task SaveAsync() { + if (editContext is null || SelectedValue is null) + { + return; + } if (editContext.Validate()) { - Content.ValueDate = SelectedValue!.Value; - Content.BookingDate = SelectedValue!.Value; + Content.ValueDate = SelectedValue.Value; + Content.BookingDate = SelectedValue.Value; await transactionRepository.SaveTransactionAsync(Content); await Dialog.CloseAsync(Content); }