From 5428935270159bfc42c2934ed7fb1091554fc9a4 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 09 七月 2020 17:12:42 +0800 Subject: [PATCH] 修改了 sokect --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs | 58 +++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 49 insertions(+), 9 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs index 58bbc9f..aaeab0e 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs @@ -166,6 +166,7 @@ //瓒呮椂鏃堕棿 int TimeOut = 0; bool receiptAll = false; + bool canReceve = false; var listScene = new List<Scene.GetSceneAllInfo>(); Action<string, string> action = (topic, message) => @@ -178,6 +179,8 @@ var sceneGetAllInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<Scene.GetSceneAllInfo>(jobject["Data"].ToString()); listScene.Add(sceneGetAllInfo); + //鏇村鎺ユ敹寰楀埌鍦烘櫙 + canReceve = true; if (sceneGetAllInfo.ScenesNum == sceneGetAllInfo.ScenesSum) { //鎺ユ敹瀹屾垚 @@ -200,7 +203,13 @@ } mainGateway.Actions -= action; action = null; - if (receiptAll == false) + if (canReceve == false) + { + //鑾峰彇鍦烘櫙鍒楄〃澶辫触,缃戝叧鍥炲瓒呮椂 + this.ShowTipMsg(Language.StringByID(R.MyInternationalizationString.uGetSceneListFailAndTimeOut)); + return null; + } + else if (receiptAll == false) { //缃戠粶涓嶇ǔ瀹氾紝鍦烘櫙鍒楄〃淇℃伅缂烘崯 this.ShowTipMsg(Language.StringByID(R.MyInternationalizationString.uNetworkUnStableAndSceneInfoIsNotFull)); @@ -610,6 +619,22 @@ } /// <summary> + /// 娓呯┖鏈湴鍏ㄩ儴鐨勫満鏅暟鎹� + /// </summary> + public void DeleteAllLocalScene() + { + var listScene = new List<SceneUI>(); + foreach (var scene in this.dicScenes.Values) + { + listScene.Add(scene); + } + foreach (var scene in listScene) + { + this.DeleteLocalScene(scene); + } + } + + /// <summary> /// 鍒犻櫎鍦烘櫙(杩欎釜鍙Щ闄ゅ唴瀛�) /// </summary> /// <param name="scene"></param> @@ -641,6 +666,20 @@ #endregion #region 鈻� 鑾峰彇鍦烘櫙___________________________ + + /// <summary> + /// 鑾峰彇鏈湴鍏ㄩ儴鐨勫満鏅�(鍖呭惈鏈垎閰�) + /// </summary> + /// <returns></returns> + public List<SceneUI> GetAllLocalScene() + { + //鎴块棿鐨勫満鏅斁鍦ㄥ墠闈� + var listScene = this.GetAllRoomSceneList(); + //鏈垎閰嶇殑鍦烘櫙 + var listUnalloctScene = this.GetUnalloctedScenes(); + listScene.AddRange(listUnalloctScene); + return listScene; + } /// <summary> /// 閫氳繃鍦烘櫙id鑾峰彇鍦烘櫙 @@ -684,13 +723,14 @@ /// <returns></returns> public string GetZoneById(int sceneId) { - var room =HdlRoomLogic.Current.GetRoomBySceneId(sceneId); + var room = HdlRoomLogic.Current.GetRoomBySceneId(sceneId); if (room == null) { return null; } - var floorName = Shared.Common.Config.Instance.Home.GetFloorNameById(room.FloorId); - if (floorName == null) + var floorName = HdlResidenceLogic.Current.GetFloorNameById(room.FloorId); + //鏇存敼浠g爜锛氬鏋渇loorName=鈥溾�濅篃瑕佸垽鏂紝鍚﹀垯鏈夆�滐紝鈥� + if (string.IsNullOrEmpty(floorName)) { return room.Name; } @@ -729,11 +769,6 @@ sceneUIs.Add(myScene); } } - - if (sceneUIs.Count == 0) - { - return null; - } return sceneUIs; } @@ -747,6 +782,11 @@ var listAllRoom = HdlRoomLogic.Current.GetAllListRooms(); foreach (var room in listAllRoom) { + if (room.IsLove == true) + { + //涓嶅寘鍚敹钘忔埧闂� + continue; + } foreach (int sceneId in room.ListSceneId) { if (this.dicScenes.ContainsKey(sceneId) == true) -- Gitblit v1.8.0