From 3e7c0a6deda128e639abfa3b8ed9377dbd017526 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期五, 11 十二月 2020 17:47:24 +0800 Subject: [PATCH] 2020-12-11-4 --- HDL_ON/Entity/FunctionList.cs | 20 +++++++++++++++++--- 1 files changed, 17 insertions(+), 3 deletions(-) diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs index 22da38f..af78a3a 100644 --- a/HDL_ON/Entity/FunctionList.cs +++ b/HDL_ON/Entity/FunctionList.cs @@ -112,6 +112,11 @@ var functionDataBytes = FileUtils.ReadFile(filePath); var functionDataString = System.Text.Encoding.UTF8.GetString(functionDataBytes); var tempFunction = Newtonsoft.Json.JsonConvert.DeserializeObject<Function>(functionDataString); + if (tempFunction == null) + { + FileUtils.DeleteFile(filePath); + return; + } if (tempFunction.DeleteSign) { //todo 鍒犻櫎浜戠鏁版嵁 20201203--App涓嶈兘鍒犻櫎鍔熻兘鏁版嵁 @@ -188,7 +193,7 @@ /// </summary> public List<Function> GetAllDeviceFunctionList() { - //if (deviceFunctionList == null) + if (deviceFunctionList == null || deviceFunctionList.Count == 0) { deviceFunctionList = new List<Function>(); deviceFunctionList.AddRange(aCs); @@ -365,8 +370,9 @@ // } //}) //{ IsBackground = true }.Start(); - foreach (var localFunction in List.GetAllDeviceFunctionList()) + for (int i =0;i < List.GetAllDeviceFunctionList().Count;) { + var localFunction = List.GetAllDeviceFunctionList()[i]; var newFunction = deviceList.list.Find((obj) => obj.deviceId == localFunction.deviceId); if (newFunction == null)//濡傛灉浜戠鏈�鏂版暟鎹病鏈夎鏉℃暟鎹紝鍒欐湰鍦伴渶瑕佸垹鎺夎鏁版嵁璁板綍 { @@ -374,6 +380,7 @@ } else { + i++; if (localFunction.modifyTime != newFunction.modifyTime) { localFunction.name = newFunction.name; @@ -426,8 +433,14 @@ // } //}) //{ IsBackground = true }.Start(); - foreach (var localScene in List.scenes) + for(int i=0;i<List.scenes.Count;) { + var localScene = List.scenes[i]; + if (localScene == null) + { + List.scenes.Remove(localScene); + continue; + } var newScene = sceneList.Find((obj) => obj.userSceneId == localScene.userSceneId); if (newScene == null)//濡傛灉浜戠鏈�鏂版暟鎹病鏈夎鏉℃暟鎹紝鍒欐湰鍦伴渶瑕佸垹鎺夎鏁版嵁璁板綍 { @@ -435,6 +448,7 @@ } else { + i++; if (localScene.modifyTime != newScene.modifyTime) { localScene.name = newScene.name; -- Gitblit v1.8.0