From 19a7164b8b579bcb855904ea42581fb6509259eb Mon Sep 17 00:00:00 2001 From: James Kolpack Date: Fri, 26 Dec 2025 10:04:37 -0500 Subject: [PATCH] Discard in-memory changes when editing --- WebApp/Components/Features/Events/Edit.razor | 8 +++++++- WebApp/Components/Features/Students/Edit.razor | 8 +++++++- WebApp/Components/Features/Teams/Edit.razor | 8 +++++++- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/WebApp/Components/Features/Events/Edit.razor b/WebApp/Components/Features/Events/Edit.razor index 09b2dcc..646a04e 100644 --- a/WebApp/Components/Features/Events/Edit.razor +++ b/WebApp/Components/Features/Events/Edit.razor @@ -103,8 +103,14 @@ } } - private void HandleCancel() + private async Task HandleCancel() { + // Discard all in-memory changes by reloading from database + if (EventDefinition != null) + { + await context.Entry(EventDefinition).ReloadAsync(); + } + _formChangeTracker?.AllowNavigation(); NavigationManager.NavigateTo("/events"); } diff --git a/WebApp/Components/Features/Students/Edit.razor b/WebApp/Components/Features/Students/Edit.razor index b160650..87ad228 100644 --- a/WebApp/Components/Features/Students/Edit.razor +++ b/WebApp/Components/Features/Students/Edit.razor @@ -103,8 +103,14 @@ } } - private void HandleCancel() + private async Task HandleCancel() { + // Discard all in-memory changes by reloading from database + if (Student != null) + { + await Context.Entry(Student).ReloadAsync(); + } + _formChangeTracker?.AllowNavigation(); NavigationManager.NavigateTo(ReturnUrl ?? "/students"); } diff --git a/WebApp/Components/Features/Teams/Edit.razor b/WebApp/Components/Features/Teams/Edit.razor index 396eec8..a8cfc0e 100644 --- a/WebApp/Components/Features/Teams/Edit.razor +++ b/WebApp/Components/Features/Teams/Edit.razor @@ -118,8 +118,14 @@ } } - private void HandleCancel() + private async Task HandleCancel() { + // Discard all in-memory changes by reloading from database + if (Team != null) + { + await Context.Entry(Team).ReloadAsync(); + } + _formChangeTracker?.AllowNavigation(); NavigationManager.NavigateTo("/teams"); }