Quellcode durchsuchen

Fix to saving database settings

Kenric Nugteren vor 5 Monaten
Ursprung
Commit
63537407fe
1 geänderte Dateien mit 12 neuen und 2 gelöschten Zeilen
  1. 12 2
      PRS.Avalonia/PRS.Avalonia/ViewModelBase.cs

+ 12 - 2
PRS.Avalonia/PRS.Avalonia/ViewModelBase.cs

@@ -144,7 +144,8 @@ public abstract partial class ViewModelBase : ObservableObject
     private bool _reverseTransition;
 
     private static Dictionary<String, MobileDatabaseSettings>? _databaseSettings;
-    public static Dictionary<String, MobileDatabaseSettings> DatabaseSettings{
+    public static Dictionary<String, MobileDatabaseSettings> DatabaseSettings
+    {
         get
         {
             if (_databaseSettings == null)
@@ -176,7 +177,16 @@ public abstract partial class ViewModelBase : ObservableObject
 
     public static void SaveDatabaseSettings()
     {
-        new LocalConfiguration<MobileDatabaseSettings>().SaveAll(DatabaseSettings);
+        var config = new LocalConfiguration<MobileDatabaseSettings>();
+        var old = config.LoadAll();
+        foreach(var key in old.Keys)
+        {
+            if (!DatabaseSettings.ContainsKey(key))
+            {
+                new LocalConfiguration<MobileDatabaseSettings>(key).Delete();
+            }
+        }
+        config.SaveAll(DatabaseSettings);
     }
     
     public static void LoadDatabaseSettings()