Browse Source

JSON配置管理调整

于正洋 5 years ago
parent
commit
ba491ba0fa

+ 11 - 0
Azylee.Utils/Azylee.Core/AppUtils/AppConfigUtils/AppConfigModels/AppConfigRegionModel.cs

@@ -31,6 +31,17 @@ namespace Azylee.Core.AppUtils.AppConfigUtils.AppConfigModels
             }
             }
             if (!repeat) { this.Items.Add(item); }
             if (!repeat) { this.Items.Add(item); }
         }
         }
+        public T GetItem(string name)
+        {
+            for (int i = 0; i < Items.Count; i++)
+            {
+                if (Items[i].GetUniqueName() == name)
+                {
+                    return Items[i];
+                }
+            }
+            return default(T);
+        }
         public void OrderByNumber()
         public void OrderByNumber()
         {
         {
             Items = Items.OrderBy(x => x.GetOrderNumber()).ToList();
             Items = Items.OrderBy(x => x.GetOrderNumber()).ToList();

+ 10 - 4
Azylee.Utils/Azylee.Jsons/JsonAppConfigUtils/JsonAppConfig.cs

@@ -71,12 +71,18 @@ namespace Azylee.Jsons.JsonAppConfigUtils
         {
         {
             string s = Json.Object2String(this.Config);
             string s = Json.Object2String(this.Config);
             s = JsonFormat.Format(s);
             s = JsonFormat.Format(s);
-            bool result = TxtTool.Create(this.FilePath, s);
-            if (TxtTool.Create(this.FilePathBackup, s))
+
+            TxtTool.Create(this.FilePath, s);
+            bool result = TxtTool.Create(this.FilePathBackup, s);
+
+            if (result)
             {
             {
-                if (FileTool.Copy(this.FilePathBackup, this.FilePath, true))
+                if (Json.File2Object<T>(this.FilePathBackup) != null)
                 {
                 {
-                    FileTool.Delete(this.FilePathBackup);
+                    if (FileTool.Copy(this.FilePathBackup, this.FilePath, true))
+                    {
+                        FileTool.Delete(this.FilePathBackup);
+                    }
                 }
                 }
             }
             }
             return result;
             return result;