diff --git a/DeepDrftContent/Controllers/TrackController.cs b/DeepDrftContent/Controllers/TrackController.cs index 29d306a..fd84d2d 100644 --- a/DeepDrftContent/Controllers/TrackController.cs +++ b/DeepDrftContent/Controllers/TrackController.cs @@ -251,7 +251,7 @@ public class TrackController : ControllerBase } var error = result.Messages.FirstOrDefault()?.Message ?? "Unknown error"; - if (string.Equals(error, "Track not found.", StringComparison.Ordinal)) + if (string.Equals(error, UnifiedTrackService.TrackNotFoundMessage, StringComparison.Ordinal)) { return NotFound(); } diff --git a/DeepDrftContent/Services/UnifiedTrackService.cs b/DeepDrftContent/Services/UnifiedTrackService.cs index 70cdf7d..9446618 100644 --- a/DeepDrftContent/Services/UnifiedTrackService.cs +++ b/DeepDrftContent/Services/UnifiedTrackService.cs @@ -14,6 +14,7 @@ namespace DeepDrftContent.Services; /// public class UnifiedTrackService { + internal const string TrackNotFoundMessage = "Track not found."; private readonly ContentTrackService _contentTrackService; private readonly ITrackService _sqlTrackService; private readonly FileDb _fileDatabase; @@ -89,7 +90,7 @@ public class UnifiedTrackService if (lookup.Value is null) { - return Result.CreateFailResult("Track not found."); + return Result.CreateFailResult(TrackNotFoundMessage); } var entryKey = lookup.Value.EntryKey; @@ -97,7 +98,7 @@ public class UnifiedTrackService var sqlDelete = await _sqlTrackService.Delete(id); if (!sqlDelete.Success) { - var error = sqlDelete.Messages.FirstOrDefault()?.Message; + var error = sqlDelete.Messages.FirstOrDefault()?.Message ?? "unknown error"; _logger.LogError("DeleteAsync: SQL delete failed for track {TrackId}: {Error}", id, error); return Result.CreateFailResult("Failed to delete track."); } diff --git a/DeepDrftManager/Components/Pages/Tracks/TrackEdit.razor b/DeepDrftManager/Components/Pages/Tracks/TrackEdit.razor index 322262f..ef4f23e 100644 --- a/DeepDrftManager/Components/Pages/Tracks/TrackEdit.razor +++ b/DeepDrftManager/Components/Pages/Tracks/TrackEdit.razor @@ -178,13 +178,15 @@ { var error = result.Messages.FirstOrDefault()?.Message ?? "Unknown error"; Snackbar.Add($"Delete failed: {error}", Severity.Error); - _busy = false; } } catch (Exception ex) { Logger.LogError(ex, "Delete failed for track {TrackId}", Id); Snackbar.Add("Delete failed — please try again.", Severity.Error); + } + finally + { _busy = false; } }