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; + } }