From c7df85937f73fb347ee0b19e9c052d2d00a6df6c Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期五, 18 九月 2020 13:58:19 +0800 Subject: [PATCH] 新版本 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs | 426 +++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 330 insertions(+), 96 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs index 7f5755c..c9d80ec 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs @@ -77,12 +77,13 @@ } /// <summary> - /// 鍒锋柊鏈湴鐨勫叏閮ㄥ満鏅� + /// 鍒锋柊浠庣綉鍏冲埛鏂板叏閮ㄧ殑鍦烘櫙 /// </summary> - public async Task<bool> RefreshSceneUIList() + /// <param name="useLocalConnect">鏄惁寮哄埗浣跨敤鏈湴杩炴帴鍙戦��</param> + public bool RefreshSceneUIList(bool useLocalConnect) { //鑾峰彇缃戝叧瀛樺湪鐨勫満鏅� - var sceneList = await ZigBee.Device.Scene.GetSceneListAsync(); + var sceneList = this.RefreshSceneListFromGateway(useLocalConnect); if (sceneList == null) { return false; @@ -95,6 +96,8 @@ continue; } listEsxit.Add(scene.ScenesId); + //鍒锋柊scene鐨勪俊鎭� + this.RefreshScene(scene); } var listDelete = new List<SceneUI>(); @@ -115,6 +118,119 @@ return true; } + /// <summary> + /// 鍒锋柊scene鐨勪俊鎭� + /// </summary> + /// <param name="sceneInfo"></param> + private void RefreshScene(Scene.GetSceneAllInfo sceneInfo) + { + if (this.dicScenes.ContainsKey(sceneInfo.ScenesId) == true) + { + var localScene = this.dicScenes[sceneInfo.ScenesId]; + //鍙埛鏂板悕瀛楀拰缁戝畾琛� + localScene.Name = sceneInfo.ScenesName; + localScene.AdjustTargetList.Clear(); + localScene.AdjustTargetList.AddRange(sceneInfo.DeviceList); + localScene.Save(); + } + else + { + var newScene = new SceneUI(); + newScene.Name = sceneInfo.ScenesName; + newScene.IconPath = "SceneIcon/0.png"; + newScene.Id = sceneInfo.ScenesId; + newScene.AdjustTargetList.AddRange(sceneInfo.DeviceList); + //娣诲姞缂撳瓨 + newScene.Save(); + //鍔犲叆缂撳瓨 + this.dicScenes[newScene.Id] = newScene; + //澶囦唤 + HdlAutoBackupLogic.AddOrEditorFile(newScene.FileName); + } + + } + + /// <summary> + /// 浠庣綉鍏抽噸鏂板埛鏂板満鏅垪琛� + /// </summary> + /// <param name="useLocalConnect">鏄惁寮哄埗浣跨敤鏈湴杩炴帴鍙戦��</param> + private List<Scene.GetSceneAllInfo> RefreshSceneListFromGateway(bool useLocalConnect) + { + var mainGateway = ZbGateway.MainGateWay; + if (mainGateway == null) + { + //鑾峰彇缃戝叧瀵硅薄澶辫触 + this.ShowTipMsg(Language.StringByID(R.MyInternationalizationString.uGetGatewayTagartFail)); + return null; + } + + //瓒呮椂鏃堕棿 + int TimeOut = 0; + bool receiptAll = false; + bool canReceve = false; + + var listScene = new List<Scene.GetSceneAllInfo>(); + Action<string, string> action = (topic, message) => + { + var gatewayID = topic.Split('/')[0]; + var jobject = Newtonsoft.Json.Linq.JObject.Parse(message); + + if (topic == gatewayID + "/" + "Scene/GetAllInfo_Respon") + { + var sceneGetAllInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<Scene.GetSceneAllInfo>(jobject["Data"].ToString()); + if (sceneGetAllInfo.ScenesSum != 0) + { + //濡傛灉缃戝叧閲岄潰娌℃湁鍦烘櫙鐨勮瘽,瀹冧篃浼氭帹杩欎釜涓滆タ杩囨潵 + listScene.Add(sceneGetAllInfo); + } + + //鏇村鎺ユ敹寰楀埌鍦烘櫙 + canReceve = true; + if (sceneGetAllInfo.ScenesNum == sceneGetAllInfo.ScenesSum) + { + //鎺ユ敹瀹屾垚 + receiptAll = true; + TimeOut = 0; + } + } + }; + mainGateway.Actions += action; + + var jObject = new Newtonsoft.Json.Linq.JObject { { "Cluster_ID", 0 }, { "Command", 807 } }; + if (useLocalConnect == false) + { + mainGateway.Send(("Scene/GetAllInfo"), System.Text.Encoding.UTF8.GetBytes(jObject.ToString())); + } + else + { + mainGateway.SendLocation(("Scene/GetAllInfo"), System.Text.Encoding.UTF8.GetBytes(jObject.ToString())); + } + + int waitTime = 20 * 6; + while (receiptAll == false && TimeOut < waitTime) + { + //鍏ㄩ儴鎺ユ敹鎵嶉��鍑� + System.Threading.Thread.Sleep(50); + TimeOut++; + } + mainGateway.Actions -= action; + action = null; + if (canReceve == false) + { + //鑾峰彇鍦烘櫙鍒楄〃澶辫触,缃戝叧鍥炲瓒呮椂 + this.ShowTipMsg(Language.StringByID(R.MyInternationalizationString.uGetSceneListFailAndTimeOut)); + return null; + } + else if (receiptAll == false) + { + //缃戠粶涓嶇ǔ瀹氾紝鍦烘櫙鍒楄〃淇℃伅缂烘崯 + this.ShowTipMsg(Language.StringByID(R.MyInternationalizationString.uNetworkUnStableAndSceneInfoIsNotFull)); + return null; + } + + return listScene; + } + #endregion #region 鈻� 娣诲姞鍦烘櫙___________________________ @@ -125,30 +241,31 @@ /// <param name="sceneName">鍦烘櫙鍚嶇О</param> /// <param name="listAdjustTarget">鎵ц鐩爣</param> /// <returns></returns> - public async Task<SceneUI> AddNewSceneToGateway(string sceneName, List<Scene.DeviceListData> listAdjustTarget) + public SceneUI AddNewSceneToGateway(string sceneName, List<Scene.DeviceListData> listAdjustTarget) { int NewScenesId = -1; //濡傛灉褰撳墠浣忓畢涓嶆槸铏氭嫙浣忓畢 - if (Common.Config.Instance.Home.IsVirtually == false) + if (Config.Instance.Home.IsVirtually == false) { - var result1 = await Scene.GetSceneNewIdAsync(sceneName); - //鍏遍�氶敊璇娴� - string error = HdlCheckLogic.Current.CheckCommonErrorCode(result1); - if (error != null) + //鑾峰彇鏂板缓涓�涓満鏅殑鍛戒护瀛楃 + var strCommand = this.GetAddNewSceneCommand(sceneName); + var result = HdlGatewayLogic.Current.SendJobjectDataToGateway(ZbGateway.MainGateWay, "Scene/GetNewId", strCommand, "Scene/GetNewId_Respon"); + if (result.ErrorMsg != null) { - this.ShowErrorMsg(error); + this.ShowTipMsg(result.ErrorMsg); return null; } - if (result1 == null || result1.getSceneIdData == null) + if (result.ErrorMsgDiv == 0) { //娣诲姞鍦烘櫙澶辫触 string msg1 = Language.StringByID(R.MyInternationalizationString.AddSceneFail); //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg - msg1 = UserCenterLogic.CombineGatewayTimeOutMsg(msg1, result1); + msg1 = UserCenterLogic.CombineGatewayTimeOutMsg(msg1, result); this.ShowTipMsg(msg1); return null; } - NewScenesId = result1.getSceneIdData.NewScenesId; + var getSceneIdData = Newtonsoft.Json.JsonConvert.DeserializeObject<Scene.GetSceneIdData>(result.ReceiptData); + NewScenesId = getSceneIdData.NewScenesId; } else { @@ -156,7 +273,7 @@ NewScenesId = Convert.ToInt32(DateTime.Now.ToString("HHmmss")); } //娣诲姞鎵ц鐩爣 - var listSuccess = await this.AddTargetToScene(NewScenesId, listAdjustTarget); + var listSuccess = this.AddTargetToScene(NewScenesId, listAdjustTarget); if (listSuccess == null) { return null; @@ -176,12 +293,31 @@ } /// <summary> + /// 鑾峰彇鏂板缓涓�涓満鏅殑鍛戒护瀛楃 + /// </summary> + /// <param name="sceneName">鍦烘櫙鍚嶇О</param> + /// <returns></returns> + public string GetAddNewSceneCommand(string sceneName) + { + var bytes = new byte[32]; + var reamarkGwBytes = Encoding.UTF8.GetBytes(sceneName); + Array.Copy(reamarkGwBytes, 0, bytes, 0, 32 < reamarkGwBytes.Length ? 32 : reamarkGwBytes.Length); + sceneName = Encoding.UTF8.GetString(bytes); + + var jObject = new Newtonsoft.Json.Linq.JObject() { { "Cluster_ID", 0 }, { "Command", 800 } }; + var data = new Newtonsoft.Json.Linq.JObject { { "ScenesName", sceneName } }; + jObject.Add("Data", data); + + return jObject.ToString(); + } + + /// <summary> /// 娣诲姞鎵ц鐩爣鍒版寚瀹氱殑鍦烘櫙(杩斿洖鎴愬姛娣诲姞鐨勬墽琛岀洰鏍�) /// </summary> /// <param name="sceneId">鍦烘櫙Id</param> /// <param name="listAdjustTarget">鎵ц鐩爣</param> /// <returns></returns> - private async Task<List<Scene.DeviceListData>> AddTargetToScene(int sceneId, List<Scene.DeviceListData> listAdjustTarget) + private List<Scene.DeviceListData> AddTargetToScene(int sceneId, List<Scene.DeviceListData> listAdjustTarget) { //濡傛灉褰撳墠浣忓畢鏄櫄鎷熶綇瀹呯殑璇� if (Common.Config.Instance.Home.IsVirtually == true) @@ -190,48 +326,22 @@ return listAdjustTarget; } var listSuccess = new List<Scene.DeviceListData>(); - for (int i = 0; i < listAdjustTarget.Count; i++) - { - var data = listAdjustTarget[i]; - var addData = new Scene.AddSceneMemberData(); - if (data.Type == 0) - { - //璁惧 - addData.Type = 0; - addData.ScenesId = sceneId; - addData.DeviceAddr = data.DeviceAddr; - addData.Epoint = data.Epoint; - addData.TaskList = data.TaskList; - addData.DelayTime = 0; - addData.MemberNumber = i + 1; - } - else if (data.Type == 1) - { - //鍦烘櫙 - addData.Type = 1; - addData.ScenesId = sceneId; - addData.ElseScenesId = data.ElseScenesId; - addData.DelayTime = 0; - addData.MemberNumber = i + 1; - } - else - { - //寤舵椂 - addData.Type = 2; - addData.ScenesId = sceneId; - addData.DelayTime = data.DelayTime; - addData.MemberNumber = i + 1; - } - //娣诲姞鏂版垚鍛� 杩斿洖缁撴灉 - var result2 = await Scene.AddSceneMemberAsync(addData); - if (result2 == null || result2.addSceneMemberResponseData == null - || result2.addSceneMemberResponseData.Result != 1) + //鑾峰彇娣诲姞鎵ц鐩爣鍒板満鏅殑鍛戒护 + var listCommand = this.GetAddTargetToSceneCommand(sceneId, listAdjustTarget); + for (int i = 0; i < listCommand.Count; i++) + { + var result = HdlGatewayLogic.Current.SendJobjectDataToGateway(ZbGateway.MainGateWay, "Scene/AddMember", listCommand[i], "Scene/AddMember_Respon"); + if (result.ErrorMsg != null || result.ErrorMsgDiv == 0) { + //鍑虹幇閿欒 continue; } - //鎷ユ湁鎴愬姛鐨� - listSuccess.Add(data); + var addSceneMemberData = Newtonsoft.Json.JsonConvert.DeserializeObject<Scene.AddSceneMemberResponseData>(result.ReceiptData); + if (addSceneMemberData.Result == 1) + { + listSuccess.Add(listAdjustTarget[i]); + } } if (listSuccess.Count == 0) { @@ -251,6 +361,80 @@ } /// <summary> + /// 鑾峰彇娣诲姞鎵ц鐩爣鍒板満鏅殑鍛戒护 + /// </summary> + /// <param name="sceneId">鍦烘櫙id</param> + /// <param name="listAdjustTarget">鎵ц鐩爣</param> + /// <param name="dicChangedMac">浜ゆ崲mac key:listAdjustTarget褰撳墠鐨凪ac value:杞崲鐨刴ac</param> + /// <param name="sceneName">鍦烘櫙鍚嶇О(鐗规畩鐢ㄩ��,璇峰嬁璁剧疆)</param> + /// <returns></returns> + public List<string> GetAddTargetToSceneCommand(int sceneId, List<Scene.DeviceListData> listAdjustTarget, Dictionary<string, string> dicChangedMac = null, string sceneName = null) + { + var listCommand = new List<string>(); + int index = 1; + for (int i = 0; i < listAdjustTarget.Count; i++) + { + var jObject = new Newtonsoft.Json.Linq.JObject { { "Cluster_ID", 0 }, { "Command", 820 } }; + var data = listAdjustTarget[i]; + //璁惧 + if (data.Type == 0) + { + string deviceAddr = data.DeviceAddr; + if (dicChangedMac != null) + { + //濡傛灉涓嶅寘鍚�,鍒欎笉浣滀负澶勭悊瀵硅薄 + if (dicChangedMac.ContainsKey(deviceAddr) == false) + { + continue; + } + deviceAddr = dicChangedMac[deviceAddr]; + } + + var taskList = new Newtonsoft.Json.Linq.JArray { }; + foreach (var taskInfo in data.TaskList) + { + var tInfo = new Newtonsoft.Json.Linq.JObject{{ "TaskType", taskInfo.TaskType}, + { "Data1", taskInfo.Data1},{ "Data2",taskInfo.Data2}}; + taskList.Add(tInfo); + } + var data2 = new Newtonsoft.Json.Linq.JObject {{ "ScenesId",sceneId},{ "Type", 0} ,{ "DeviceAddr",deviceAddr} , + { "Epoint", data.Epoint} ,{ "TaskList", taskList },{ "DelayTime", 0} ,{ "MemberNumber",index}}; + if (sceneName != null) + { + data2.Add(new Newtonsoft.Json.Linq.JProperty("ScenesName", sceneName)); + } + jObject.Add("Data", data2); + } + //鍦烘櫙 + else if (data.Type == 1) + { + var data2 = new Newtonsoft.Json.Linq.JObject {{ "ScenesId",sceneId},{ "Type", 1} , + { "ElseScenesId", data.ElseScenesId },{ "DelayTime", 0} ,{ "MemberNumber",index} }; + if (sceneName != null) + { + data2.Add(new Newtonsoft.Json.Linq.JProperty("ScenesName", sceneName)); + } + jObject.Add("Data", data2); + } + //寤舵椂 + else + { + var data2 = new Newtonsoft.Json.Linq.JObject {{ "Type", 2} ,{ "ScenesId",sceneId}, + { "DelayTime", data.DelayTime} ,{ "MemberNumber",index}}; + if (sceneName != null) + { + data2.Add(new Newtonsoft.Json.Linq.JProperty("ScenesName", sceneName)); + } + jObject.Add("Data", data2); + } + listCommand.Add(jObject.ToString()); + index++; + } + return listCommand; + } + + + /// <summary> /// 娣诲姞鍦烘櫙(杩欎釜鍗曠函鍙敼鎴块棿) /// </summary> /// <param name="scene">Scene.</param> @@ -265,29 +449,6 @@ } /// <summary> - /// 鏀瑰彉鍦烘櫙鎴块棿 - /// </summary> - /// <param name="scene">鍦烘櫙瀵硅薄</param> - /// <param name="newRoomId">鏂扮殑鎴块棿鐨処D</param> - public void ChangedSceneRoom(SceneUI scene, string newRoomId) - { - var room = HdlRoomLogic.Current.GetRoomBySceneId(scene.Id); - if (room != null) - { - //鎴块棿娌℃湁鏀瑰彉 - if (room.Id == newRoomId) - { - return; - } - //浠庢埧闂翠腑绉婚櫎缂撳瓨 - this.DeleteSceneFromRoom(room, scene); - } - //娣诲姞杩涙柊鎴块棿 - var newRoom = HdlRoomLogic.Current.GetRoomById(newRoomId); - this.AddSceneToRoom(newRoom, scene); - } - - /// <summary> /// 娣诲姞鎼滆棌鍦烘櫙 /// </summary> /// <param name="scene">Scene.</param> @@ -299,6 +460,8 @@ { nowRoom.ListSceneId.Add(scene.Id); nowRoom.Save(); + //娣诲姞鏀惰棌鍦烘櫙鏃�,闇�瑕佸埛鏂颁富椤� + UserView.UserPage.Instance.RefreshAllForm = true; } } @@ -411,7 +574,7 @@ sceneUI.AdjustTargetList.Clear(); //鐒跺悗閲嶆柊娣诲姞 - var listSuccess = await this.AddTargetToScene(sceneUI.Id, listAdjustTarget); + var listSuccess = this.AddTargetToScene(sceneUI.Id, listAdjustTarget); if (listSuccess == null) { return false; @@ -512,6 +675,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> @@ -540,12 +721,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鑾峰彇鍦烘櫙 @@ -589,13 +786,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; } @@ -634,11 +832,6 @@ sceneUIs.Add(myScene); } } - - if (sceneUIs.Count == 0) - { - return null; - } return sceneUIs; } @@ -652,6 +845,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) @@ -750,7 +948,7 @@ /// </summary> /// <param name="i_scene">鍦烘櫙瀵硅薄</param> /// <returns></returns> - public async Task<List<Scene.DeviceListData>> GetAdjustTargetList(SceneUI i_scene) + public List<Scene.DeviceListData> GetAdjustTargetList(SceneUI i_scene) { //濡傛灉浣忓畢涓鸿櫄鎷熶綇瀹� if (Common.Config.Instance.Home.IsVirtually == true) @@ -759,16 +957,27 @@ listAdjustTarget.AddRange(i_scene.AdjustTargetList); return listAdjustTarget; } - - var result = await Scene.GetSceneDeviceListAsync(i_scene.Id); - //鍏遍�氶敊璇娴� - string error = HdlCheckLogic.Current.CheckCommonErrorCode(result); - if (error != null) + //濡傛灉鏄湁妯℃澘,鏈夎澶囩殑鏃跺��,鍦ㄦ病鏈夊彂閫佹垚鍔熶箣鍓�,涓嶅厑璁稿埛鏂版墽琛岀洰鏍囧璞� + if (Common.Config.Instance.Home.TemplateMode == 2 + && Common.Config.Instance.Home.SendTemplateSuccess == false) { - this.ShowErrorMsg(error); + var listAdjustTarget = new List<Scene.DeviceListData>(); + listAdjustTarget.AddRange(i_scene.AdjustTargetList); + return listAdjustTarget; + } + + var jObject = new Newtonsoft.Json.Linq.JObject { { "Cluster_ID", 0 }, { "Command", 806 } }; + var data = new Newtonsoft.Json.Linq.JObject { { "ScenesId", i_scene.Id } }; + jObject.Add("Data", data); + //鍙戦�佸懡浠� + var result = HdlGatewayLogic.Current.SendJobjectDataToGateway(ZbGateway.MainGateWay, "Scene/GetDeviceList", jObject.ToString(), "Scene/GetDeviceList_Respon"); + + if (result.ErrorMsg != null) + { + this.ShowTipMsg(result.ErrorMsg); return null; } - if (result == null || result.getSceneDeviceListInfo == null) + if (result.ErrorMsgDiv == 0) { //鑾峰彇鎵ц鐩爣澶辫触 string msg = Language.StringByID(R.MyInternationalizationString.uGetAdjustTargetFail); @@ -778,12 +987,14 @@ this.ShowTipMsg(msg); return null; } - i_scene.AdjustTargetList = result.getSceneDeviceListInfo.DeviceList; + var sceneGetDeviceListObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Scene.GetSceneDeviceListInfo>(result.ReceiptData); + + i_scene.AdjustTargetList = sceneGetDeviceListObj.DeviceList; //淇濆瓨缂撳瓨 i_scene.Save(false); var listData = new List<Scene.DeviceListData>(); - listData.AddRange(result.getSceneDeviceListInfo.DeviceList); + listData.AddRange(sceneGetDeviceListObj.DeviceList); return listData; } @@ -819,13 +1030,36 @@ #region 鈻� 涓�鑸柟娉昣__________________________ /// <summary> + /// 鏀瑰彉鍦烘櫙鎴块棿 + /// </summary> + /// <param name="scene">鍦烘櫙瀵硅薄</param> + /// <param name="newRoomId">鏂扮殑鎴块棿鐨処D</param> + public void ChangedSceneRoom(SceneUI scene, string newRoomId) + { + var room = HdlRoomLogic.Current.GetRoomBySceneId(scene.Id); + if (room != null) + { + //鎴块棿娌℃湁鏀瑰彉 + if (room.Id == newRoomId) + { + return; + } + //浠庢埧闂翠腑绉婚櫎缂撳瓨 + this.DeleteSceneFromRoom(room, scene); + } + //娣诲姞杩涙柊鎴块棿 + var newRoom = HdlRoomLogic.Current.GetRoomById(newRoomId); + this.AddSceneToRoom(newRoom, scene); + } + + /// <summary> /// 鑾峰彇鏈湴鍏ㄩ儴鐨勫満鏅枃浠� /// </summary> /// <returns></returns> 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