Bläddra i källkod

Moved Version Handling Code to DbFactory, removed license check from Development version

frankvandenbos 7 månader sedan
förälder
incheckning
8719ec5185
2 ändrade filer med 40 tillägg och 24 borttagningar
  1. 3 24
      InABox.Database/DataUpdater.cs
  2. 37 0
      InABox.Database/DbFactory.cs

+ 3 - 24
InABox.Database/DataUpdater.cs

@@ -203,35 +203,14 @@ public static class DataUpdater
         newVersion = toVersion;
         return true;
     }
-
-    private static DatabaseVersion GetVersionSettings()
-    {
-        var result = DbFactory.NewProvider(Logger.Main).Query(new Filter<GlobalSettings>(x => x.Section).IsEqualTo(nameof(DatabaseVersion)))
-            .Rows.FirstOrDefault()?.ToObject<GlobalSettings>();
-        if(result != null)
-        {
-            return Serialization.Deserialize<DatabaseVersion>(result.Contents);
-        }
-        var settings = new GlobalSettings() { Section = nameof(DatabaseVersion), Key = "" };
-        var dbVersion = new DatabaseVersion() { Version = "6.30b" };
-        settings.Contents = Serialization.Serialize(dbVersion);
-        DbFactory.NewProvider(Logger.Main).Save(settings);
-        return dbVersion;
-    }
-
-    private static VersionNumber GetDatabaseVersion()
-    {
-        var dbVersion = GetVersionSettings();
-        return VersionNumber.Parse(dbVersion.Version);
-    }
-
+    
     private static void UpdateVersionNumber(VersionNumber version)
     {
         if (version.IsDevelopmentVersion)
         {
             return;
         }
-        var dbVersion = GetVersionSettings();
+        var dbVersion = DbFactory.GetVersionSettings();
         dbVersion.Version = version.ToString();
 
         var result = DbFactory.NewProvider(Logger.Main).Query(new Filter<GlobalSettings>(x => x.Section).IsEqualTo(nameof(DatabaseVersion)))
@@ -249,7 +228,7 @@ public static class DataUpdater
     {
         try
         {
-            var from = GetDatabaseVersion();
+            var from = DbFactory.GetDatabaseVersion();
             var to = VersionNumber.Parse(CoreUtils.GetVersion());
 
             var success = MigrateDatabase(from, to, out var newVersion);

+ 37 - 0
InABox.Database/DbFactory.cs

@@ -112,7 +112,41 @@ public static class DbFactory
 
         LoadScripts();
     }
+    
+    public static DatabaseVersion GetVersionSettings()
+    {
+        var provider = ProviderFactory.NewProvider(Logger.New());
+        var result = provider.Query(new Filter<GlobalSettings>(x => x.Section).IsEqualTo(nameof(DatabaseVersion)))
+            .Rows.FirstOrDefault()?.ToObject<GlobalSettings>();
+        if(result != null)
+        {
+            return Serialization.Deserialize<DatabaseVersion>(result.Contents);
+        }
+        var settings = new GlobalSettings() { Section = nameof(DatabaseVersion), Key = "" };
+        var dbVersion = new DatabaseVersion() { Version = "6.30b" };
+        settings.Contents = Serialization.Serialize(dbVersion);
+        DbFactory.NewProvider(Logger.Main).Save(settings);
+        return dbVersion;
+    }
+
+    public static VersionNumber GetDatabaseVersion()
+    {
+        var dbVersion = GetVersionSettings();
+        return VersionNumber.Parse(dbVersion.Version);
+    }
 
+    private static VersionNumber? _versionNumber;
+    
+    public static VersionNumber VersionNumber 
+    {
+        get
+        {
+            _versionNumber ??= GetDatabaseVersion();
+            return _versionNumber;
+        }
+    }
+
+    
     #region MetaData
 
     private static void SaveMetadata()
@@ -265,6 +299,9 @@ public static class DbFactory
     
     public static void AssertLicense()
     {
+        if (VersionNumber.IsDevelopmentVersion)
+            return;
+        
         var result = CheckLicenseValidity(out DateTime expiry);
         switch (result)
         {