From 270b3d8539f6b4a991a9ebf3b3a9eceb436d61d5 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期四, 28 十月 2021 17:08:02 +0800
Subject: [PATCH] 自动化地址问题修复

---
 HDL_ON/Entity/FunctionList.cs |  109 +++++++++++++++++++++++++++++-------------------------
 1 files changed, 58 insertions(+), 51 deletions(-)

diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs
index 593bb36..b76cae2 100644
--- a/HDL_ON/Entity/FunctionList.cs
+++ b/HDL_ON/Entity/FunctionList.cs
@@ -186,72 +186,79 @@
         /// <para>false:鐩存帴鏃犳潯浠舵坊鍔�</para></param>
         public void IniFunctionList(string filePath, bool checkRepeat = false)
         {
-            // todo 澧炲姞璁惧锛屽鍔犲姛鑳借繘鍔熻兘鍒楄〃
-            if (filePath.StartsWith("FunctionData_"))
+            try
             {
-                var functionDataBytes = FileUtlis.Files.ReadFile(filePath);
-                var functionDataString = System.Text.Encoding.UTF8.GetString(functionDataBytes);
-                var tempFunction = Newtonsoft.Json.JsonConvert.DeserializeObject<Function>(functionDataString);
-                if (tempFunction == null)
+                // todo 澧炲姞璁惧锛屽鍔犲姛鑳借繘鍔熻兘鍒楄〃
+                if (filePath.StartsWith("FunctionData_"))
                 {
-                    MainPage.Log("null");
-                    FileUtlis.Files.DeleteFile(filePath);
-                    return;
-                }
-                //闊充箰閮ㄥ垎瑕佷慨鏀�
-                //if(tempFunction.spk.ToString() == SPK.MusicStandard)
-                //{
-                //    UI.Music.A31MusicModel.A31MusicModelList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<UI.Music.A31MusicModel>(functionDataString));
-                //}
-                if (checkRepeat == true)
-                {
-                    //妫�娴嬮噸澶�
-                    for (int i = 0; i < Functions.Count; i++)
+                    var functionDataBytes = FileUtlis.Files.ReadFile(filePath);
+                    var functionDataString = System.Text.Encoding.UTF8.GetString(functionDataBytes);
+                    var tempFunction = Newtonsoft.Json.JsonConvert.DeserializeObject<Function>(functionDataString);
+                    if (tempFunction == null)
                     {
-                        if (Functions[i].deviceId == tempFunction.deviceId)
+                        MainPage.Log("null");
+                        FileUtlis.Files.DeleteFile(filePath);
+                        return;
+                    }
+                    //闊充箰閮ㄥ垎瑕佷慨鏀�
+                    //if(tempFunction.spk.ToString() == SPK.MusicStandard)
+                    //{
+                    //    UI.Music.A31MusicModel.A31MusicModelList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<UI.Music.A31MusicModel>(functionDataString));
+                    //}
+                    if (checkRepeat == true)
+                    {
+                        //妫�娴嬮噸澶�
+                        for (int i = 0; i < Functions.Count; i++)
                         {
-                            //鍏堢Щ闄ゆ帀鍐嶅姞
-                            Functions.RemoveAt(i);
-                            Functions.Add(tempFunction);
-                            return;
+                            if (Functions[i].deviceId == tempFunction.deviceId)
+                            {
+                                //鍏堢Щ闄ゆ帀鍐嶅姞
+                                Functions.RemoveAt(i);
+                                Functions.Add(tempFunction);
+                                return;
+                            }
                         }
                     }
+                    Functions.Add(tempFunction);
                 }
-                Functions.Add(tempFunction);
-            }
-            if (filePath.StartsWith("SceneData_"))
-            {
-                var sceneDataBytes = FileUtlis.Files.ReadFile(filePath);
-                var sceneDataString = System.Text.Encoding.UTF8.GetString(sceneDataBytes);
-                var tempScene = Newtonsoft.Json.JsonConvert.DeserializeObject<Scene>(sceneDataString);
-                List.scenes.Add(tempScene);
-            }
-            else if (filePath.StartsWith("SecurityData_"))
-            {
-                var dataBytes = FileUtlis.Files.ReadFile(filePath);
-                var dataString = System.Text.Encoding.UTF8.GetString(dataBytes);
-                var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<SecurityAlarm>(dataString);
-                if (temp == null)
+                if (filePath.StartsWith("SceneData_"))
                 {
-                    MainPage.Log("null");
-                    FileUtlis.Files.DeleteFile(filePath);
-                    return;
+                    var sceneDataBytes = FileUtlis.Files.ReadFile(filePath);
+                    var sceneDataString = System.Text.Encoding.UTF8.GetString(sceneDataBytes);
+                    var tempScene = Newtonsoft.Json.JsonConvert.DeserializeObject<Scene>(sceneDataString);
+                    List.scenes.Add(tempScene);
                 }
-                if (checkRepeat == true)
+                else if (filePath.StartsWith("SecurityData_"))
                 {
-                    //妫�娴嬮噸澶�
-                    for (int i = 0; i < securities.Count; i++)
+                    var dataBytes = FileUtlis.Files.ReadFile(filePath);
+                    var dataString = System.Text.Encoding.UTF8.GetString(dataBytes);
+                    var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<SecurityAlarm>(dataString);
+                    if (temp == null)
                     {
-                        if (securities[i].sid == temp.sid)
+                        MainPage.Log("null");
+                        FileUtlis.Files.DeleteFile(filePath);
+                        return;
+                    }
+                    if (checkRepeat == true)
+                    {
+                        //妫�娴嬮噸澶�
+                        for (int i = 0; i < securities.Count; i++)
                         {
-                            //鍏堢Щ闄ゆ帀鍐嶅姞
-                            securities.RemoveAt(i);
-                            securities.Add(temp);
-                            return;
+                            if (securities[i].sid == temp.sid)
+                            {
+                                //鍏堢Щ闄ゆ帀鍐嶅姞
+                                securities.RemoveAt(i);
+                                securities.Add(temp);
+                                return;
+                            }
                         }
                     }
+                    securities.Add(temp);
                 }
-                securities.Add(temp);
+            }
+            catch (Exception ex)
+            {
+                MainPage.Log($"IniFunctionList error : {ex.Message}");
             }
         }
 

--
Gitblit v1.8.0