diff --git a/ModernKeePass.Application/Database/Commands/CloseDatabase/CloseDatabaseCommand.cs b/ModernKeePass.Application/Database/Commands/CloseDatabase/CloseDatabaseCommand.cs index f17d97f..deae267 100644 --- a/ModernKeePass.Application/Database/Commands/CloseDatabase/CloseDatabaseCommand.cs +++ b/ModernKeePass.Application/Database/Commands/CloseDatabase/CloseDatabaseCommand.cs @@ -18,10 +18,6 @@ namespace ModernKeePass.Application.Database.Commands.CloseDatabase { if (!_database.IsOpen) throw new DatabaseClosedException(); _database.CloseDatabase(); - - // Cleanup - _database.FileAccessToken = null; - _database.Size = 0; } } } diff --git a/ModernKeePass.Application/Database/Queries/ReOpenDatabase/ReOpenDatabaseQuery.cs b/ModernKeePass.Application/Database/Queries/ReOpenDatabase/ReOpenDatabaseQuery.cs index ebcf46f..1472133 100644 --- a/ModernKeePass.Application/Database/Queries/ReOpenDatabase/ReOpenDatabaseQuery.cs +++ b/ModernKeePass.Application/Database/Queries/ReOpenDatabase/ReOpenDatabaseQuery.cs @@ -20,7 +20,8 @@ namespace ModernKeePass.Application.Database.Queries.ReOpenDatabase public async Task Handle(ReOpenDatabaseQuery message) { - if (!_database.IsOpen) throw new DatabaseClosedException(); + if (_database.IsOpen) throw new DatabaseOpenException(); + if (string.IsNullOrEmpty(_database.FileAccessToken)) throw new DatabaseClosedException(); var file = await _file.OpenBinaryFile(_database.FileAccessToken); await _database.ReOpen(file); diff --git a/ModernKeePass/App.xaml.cs b/ModernKeePass/App.xaml.cs index 3e823e1..269d02f 100644 --- a/ModernKeePass/App.xaml.cs +++ b/ModernKeePass/App.xaml.cs @@ -179,7 +179,7 @@ namespace ModernKeePass _notification.Show("App resumed", "Database reopened (changes were saved)"); #endif } - catch (Exception) + catch (DatabaseClosedException) { _navigation.NavigateTo(Constants.Navigation.MainPage); #if DEBUG diff --git a/README.md b/README.md index 4d15501..0bf430b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ [](https://geogeob.visualstudio.com/_apis/public/build/index?definitionId=2) +[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=ModernKeePass&metric=alert_status)](https://sonarcloud.io/dashboard?id=ModernKeePass) # Introduction **ModernKeePass** is port of the classic Windows application KeePass 2.x for the Windows Store.