From f3e65daca7978b21b5888f49b1bf35e1a6e5d4fd Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 13 七月 2020 12:33:31 +0800 Subject: [PATCH] 新版本 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs | 61 ++++++++++++++++++++++++++---- 1 files changed, 53 insertions(+), 8 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs index cab34c9..402cf70 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)); @@ -394,6 +403,8 @@ { nowRoom.ListSceneId.Add(scene.Id); nowRoom.Save(); + //娣诲姞鏀惰棌鍦烘櫙鏃�,闇�瑕佸埛鏂颁富椤� + UserView.UserPage.Instance.RefreshAllForm = true; } } @@ -607,6 +618,24 @@ HdlAutoBackupLogic.DeleteFile(sceneUI.IconPath); } } + //鍒犻櫎鍦烘櫙鏃�,闇�瑕佸埛鏂颁富椤� + UserView.UserPage.Instance.RefreshAllForm = true; + } + + /// <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> @@ -635,12 +664,28 @@ { nowRoom.ListSceneId.Remove(scene.Id); nowRoom.Save(); + //鍙栨秷鏀惰棌鍦烘櫙鏃�,闇�瑕佸埛鏂颁富椤� + UserView.UserPage.Instance.RefreshAllForm = true; } } #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鑾峰彇鍦烘櫙 @@ -689,7 +734,7 @@ { return null; } - var floorName = Shared.Common.Config.Instance.Home.GetFloorNameById(room.FloorId); + var floorName = HdlResidenceLogic.Current.GetFloorNameById(room.FloorId); //鏇存敼浠g爜锛氬鏋渇loorName=鈥溾�濅篃瑕佸垽鏂紝鍚﹀垯鏈夆�滐紝鈥� if (string.IsNullOrEmpty(floorName)) { @@ -730,11 +775,6 @@ sceneUIs.Add(myScene); } } - - if (sceneUIs.Count == 0) - { - return null; - } return sceneUIs; } @@ -748,6 +788,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) @@ -921,7 +966,7 @@ public List<string> GetAllSceneFile() { List<string> listSceneFile = new List<string>(); - List<string> listAllFile = Global.FileListByHomeId(); + List<string> listAllFile = HdlFileLogic.Current.GetRootPathListFile(); foreach (string file in listAllFile) { -- Gitblit v1.8.0