From a17a21b12c399f89f19099e0ce74042aeea4153c Mon Sep 17 00:00:00 2001 From: Pilzinsel64 Date: Thu, 13 Jun 2024 21:43:15 +0200 Subject: [PATCH] save on logout & logout on close --- OwnChar/Data/IDataProvider.cs | 1 + OwnChar/Data/Managers/DefaultDataManager.cs | 2 ++ OwnChar/Data/Providers/JsonFile/JsonFileDataProvider.cs | 6 ++++++ 3 files changed, 9 insertions(+) diff --git a/OwnChar/Data/IDataProvider.cs b/OwnChar/Data/IDataProvider.cs index d7bdfcd..f7141bc 100644 --- a/OwnChar/Data/IDataProvider.cs +++ b/OwnChar/Data/IDataProvider.cs @@ -7,6 +7,7 @@ public interface IDataProvider // General abstract bool IsInitialized(); abstract void SetInitialized(); + abstract bool SaveDatabase(); // Model abstract T? Create() where T : class, IOwnCharObject; diff --git a/OwnChar/Data/Managers/DefaultDataManager.cs b/OwnChar/Data/Managers/DefaultDataManager.cs index 51c390d..426fb02 100644 --- a/OwnChar/Data/Managers/DefaultDataManager.cs +++ b/OwnChar/Data/Managers/DefaultDataManager.cs @@ -49,6 +49,8 @@ public class DefaultDataManager : IDataManager public bool Logout(UserAccount? account) { + if (account != null && account.HasPermission(UserType.User)) + DataProvider.SaveDatabase(); return true; } diff --git a/OwnChar/Data/Providers/JsonFile/JsonFileDataProvider.cs b/OwnChar/Data/Providers/JsonFile/JsonFileDataProvider.cs index 047d7d2..780baeb 100644 --- a/OwnChar/Data/Providers/JsonFile/JsonFileDataProvider.cs +++ b/OwnChar/Data/Providers/JsonFile/JsonFileDataProvider.cs @@ -256,4 +256,10 @@ public class JsonFileDataProvider : IDataProvider } return false; } + + public bool SaveDatabase() + { + SaveFile(); + return true; + } }