From 6fa9d69da922c8049f5acfcbb9ce9fd26811024c Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期四, 16 四月 2020 17:10:57 +0800 Subject: [PATCH] 请合并代码 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs | 159 +++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 113 insertions(+), 46 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs index 5fafb97..3e23033 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs @@ -204,7 +204,13 @@ /// <param name="zbGateway">缃戝叧</param> /// <param name="mode">鏄惁鏄剧ず閿欒</param> public async Task<bool> AddNewGateway(ZbGateway zbGateway, ShowErrorMode mode) - { + { + //璁剧疆缃戝叧鐨勭粡绾害 + bool falge = this.SetGatewaySite(zbGateway, Common.Config.Instance.Home.Longitude, Common.Config.Instance.Home.Latitude, ShowErrorMode.NO); + if (falge == false) + { + return falge; + } //鎵ц娣诲姞缃戝叧鍒板唴瀛� var result = await this.DoAddGatewayToMemory(zbGateway, mode); //鍓嶇殑缃戝叧缁戝畾鍦ㄤ簡褰撳墠璐﹀彿涓嬬殑涓嶅悓浣忓畢閲岄潰 @@ -226,9 +232,7 @@ { return false; } - //璁剧疆缃戝叧鐨勭粡绾害 - bool falge = this.SetGatewaySite(zbGateway, Common.Config.Instance.Home.Longitude, Common.Config.Instance.Home.Latitude); - return falge; + return true; } /// <summary> @@ -438,7 +442,7 @@ return -1; } //璁剧疆缃戝叧鐨勭粡绾害 - bool falge = this.SetGatewaySite(zbGateway, Common.Config.Instance.Home.Longitude, Common.Config.Instance.Home.Latitude); + bool falge = this.SetGatewaySite(zbGateway, Common.Config.Instance.Home.Longitude, Common.Config.Instance.Home.Latitude, ShowErrorMode.YES); if (falge == false) { return -1; @@ -767,14 +771,15 @@ //濡傛灉鏄富缃戝叧 if (this.IsMainGateway(zbGatewayID) == 1) { - foreach (var room in Shared.Common.Room.Lists) + var listAllRoom = UserCenter.HdlRoomLogic.Current.GetAllListRooms(); + foreach (var room in listAllRoom) { //鍒犻櫎鍦烘櫙鏂囦欢 - foreach (var scene in room.SceneUIFilePathList) + foreach (var sceneId in room.ListSceneId) { - if (Global.IsExistsByHomeId(scene) == true) + if (Global.IsExistsByHomeId($"Scene_{sceneId}.json") == true) { - Global.DeleteFilebyHomeId(scene); + Global.DeleteFilebyHomeId($"Scene_{sceneId}.json"); } } } @@ -1395,10 +1400,10 @@ if (mode == GetNameMode.SpecialGateway && localWay.getGwInfo != null) { string keyName = Common.LocalDevice.deviceModelIdName + this.GetGwInfoAttribute(localWay, "LinuxImageType").ToString(); - if (Common.LocalDevice.Current.dicDeviceDefultNameID.ContainsKey(keyName) == true) + if (LocalDevice.Current.dicDeviceAllNameID.ContainsKey(keyName) == true) { - //娌℃湁鍚嶇О鏃讹紝鍒欎娇鐢≧鏂囦欢閲岄潰璁剧疆鐨勪笢瑗� - return Language.StringByID(Common.LocalDevice.Current.dicDeviceDefultNameID[keyName]); + //娌℃湁鍚嶇О鏃讹紝鍒欎娇鐢≧鏂囦欢閲岄潰璁剧疆鐨勯粯璁よ澶囧悕绉� + return Language.StringByID(LocalDevice.Current.dicDeviceAllNameID[keyName] + 20000); } } @@ -1437,10 +1442,10 @@ if (zbGateway.getGwInfo != null && zbGateway.getGwInfo.LinuxImageType != 0) { string keyName = Common.LocalDevice.deviceModelIdName + zbGateway.getGwInfo.LinuxImageType; - if (Common.LocalDevice.Current.dicDeviceDefultNameID.ContainsKey(keyName) == true) + if (Common.LocalDevice.Current.dicDeviceAllNameID.ContainsKey(keyName) == true) { //浣跨敤R鏂囦欢閲岄潰璁剧疆鐨勪笢瑗� - button.TextID = LocalDevice.Current.dicDeviceDefultNameID[keyName]; + button.TextID = LocalDevice.Current.dicDeviceAllNameID[keyName]; } } else @@ -1455,10 +1460,10 @@ HdlThreadLogic.Current.RunMain(() => { string keyName = Common.LocalDevice.deviceModelIdName + zbGateway.getGwInfo.LinuxImageType; - if (Common.LocalDevice.Current.dicDeviceDefultNameID.ContainsKey(keyName) == true) + if (Common.LocalDevice.Current.dicDeviceAllNameID.ContainsKey(keyName) == true) { //浣跨敤R鏂囦欢閲岄潰璁剧疆鐨勪笢瑗� - button.TextID = LocalDevice.Current.dicDeviceDefultNameID[keyName]; + button.TextID = LocalDevice.Current.dicDeviceAllNameID[keyName]; } }); } @@ -1468,10 +1473,10 @@ else { string keyName = Common.LocalDevice.deviceModelIdName + this.dicGateway[gwId].getGwInfo.LinuxImageType; - if (Common.LocalDevice.Current.dicDeviceDefultNameID.ContainsKey(keyName) == true) + if (Common.LocalDevice.Current.dicDeviceAllNameID.ContainsKey(keyName) == true) { //浣跨敤R鏂囦欢閲岄潰璁剧疆鐨勪笢瑗� - button.TextID = Common.LocalDevice.Current.dicDeviceDefultNameID[keyName]; + button.TextID = Common.LocalDevice.Current.dicDeviceAllNameID[keyName]; } } } @@ -1564,6 +1569,54 @@ #endregion + #region 鈻� 缃戝叧鎴块棿鐩稿叧_______________________ + + /// <summary> + /// 鑾峰彇缃戝叧鎵�鍦ㄧ殑鎴块棿 + /// </summary> + /// <param name="zbGateway">缃戝叧瀵硅薄</param> + /// <returns></returns> + public Room GetRoomByGateway(ZbGateway zbGateway) + { + var gatewayId = this.GetGatewayId(zbGateway); + return this.GetRoomByGateway(gatewayId); + } + + /// <summary> + /// 鑾峰彇缃戝叧鎵�鍦ㄧ殑鎴块棿 + /// </summary> + /// <param name="gatewayId">缃戝叧ID</param> + /// <returns></returns> + public Room GetRoomByGateway(string gatewayId) + { + var localGateway = this.GetLocalGateway(gatewayId); + if (localGateway == null) + { + return null; + } + return HdlRoomLogic.Current.GetRoomById(localGateway.RoomId); + } + + /// <summary> + /// 鍙樻洿缃戝叧鎴块棿 + /// </summary> + /// <param name="zbGateway">缃戝叧瀵硅薄</param> + /// <param name="roomId">鎴块棿ID</param> + public void ChangedGatewayRoom(ZbGateway zbGateway, string roomId) + { + var gatewayId = this.GetGatewayId(zbGateway); + var localGateway = this.GetLocalGateway(gatewayId); + if (localGateway != null) + { + localGateway.RoomId = roomId; + localGateway.ReSave(); + //娣诲姞澶囦唤 + HdlAutoBackupLogic.AddOrEditorFile(localGateway.FilePath); + } + } + + #endregion + #region 鈻� 娓呯┖鐪熷疄缃戝叧鍒楄〃___________________ /// <summary> @@ -1632,8 +1685,11 @@ this.GetGwInfoAttribute(localWay, "ZbImageType").ToString(), Convert.ToInt32(this.GetGwInfoAttribute(localWay, "ZbFWVersion"))); + var list = new List<FirmwareVersionInfo>(); + list.Add(gatewayFirmware); + list.Add(coordinatorFirmware); + //杩欎釜缃戝叧闇�瑕佹湁铏氭嫙椹卞姩杩欎釜涓滆タ鎵嶈 - FirmwareVersionInfo virtualFirmware = null; string linImage = this.GetGwInfoAttribute(localWay, "LinuxImageType").ToString(); if (linImage != "6") { @@ -1641,28 +1697,32 @@ var listvVode = await HdlGatewayLogic.Current.GetListVDDriveCode(localWay); if (listvVode != null && listvVode.Count > 0) { - //娣诲姞铏氭嫙椹卞姩鐨勫崌绾у浐浠�(鎴愪笉鎴愬姛閮芥棤鎵�璋�) - flage = await HdlFirmwareUpdateLogic.AddFirmwareVersionInfo(FirmwareLevelType.VirtualDevice, - listvVode[0].DriveHwVersion.ToString(), - listvVode[0].DriveImageType.ToString()); - - //铏氭嫙椹卞姩 - virtualFirmware = HdlFirmwareUpdateLogic.GetFirmwareMostVersionInfo(FirmwareLevelType.VirtualDevice, - listvVode[0].DriveHwVersion.ToString(), - listvVode[0].DriveImageType.ToString(), - listvVode[0].DriveFwVersion); - - if (virtualFirmware != null) + foreach (var data in listvVode) { - virtualFirmware.VirtualCode = listvVode[0].DriveCode; + //娣诲姞铏氭嫙椹卞姩鐨勫崌绾у浐浠�(鎴愪笉鎴愬姛閮芥棤鎵�璋�) + flage = await HdlFirmwareUpdateLogic.AddFirmwareVersionInfo(FirmwareLevelType.VirtualDevice, + data.DriveHwVersion.ToString(), + data.DriveImageType.ToString()); + + //铏氭嫙椹卞姩 + var virtualFirmware = HdlFirmwareUpdateLogic.GetFirmwareMostVersionInfo(FirmwareLevelType.VirtualDevice, + data.DriveHwVersion.ToString(), + data.DriveImageType.ToString(), + data.DriveFwVersion); + + if (virtualFirmware != null) + { + virtualFirmware.VirtualCode = data.DriveCode; + list.Add(virtualFirmware); + } } } } - var list = new List<FirmwareVersionInfo>(); - list.Add(gatewayFirmware); - list.Add(coordinatorFirmware); - list.Add(virtualFirmware); - + if (list.Count == 2) + { + //铏氭嫙椹卞姩濡傛灉娌℃湁鏂扮増鏈殑璇濓紝鍥哄畾娣诲姞涓�涓┖鐨� + list.Add(null); + } return list; } @@ -2201,15 +2261,19 @@ /// <param name="gateway">缃戝叧瀵硅薄</param> /// <param name="Longitude">缁忓害</param> /// <param name="Latitude">缁村害</param> + /// <param name="mode">鏄剧ず閿欒</param> /// <returns></returns> - public bool SetGatewaySite(ZbGateway gateway, double Longitude, double Latitude) + public bool SetGatewaySite(ZbGateway gateway, double Longitude, double Latitude, ShowErrorMode mode) { ZbGateway realWay = null; if (this.GetRealGateway(ref realWay, gateway) == false) { - //閿欒:缃戝叧瀵硅薄涓㈠け - string msg = Language.StringByID(R.MyInternationalizationString.uErrorGatewayLostMsg); - this.ShowTipMsg(msg); + if (mode == ShowErrorMode.YES) + { + //閿欒:缃戝叧瀵硅薄涓㈠け + string msg = Language.StringByID(R.MyInternationalizationString.uErrorGatewayLostMsg); + this.ShowTipMsg(msg); + } return false; } @@ -2254,13 +2318,16 @@ realWay.Actions -= action; if (result != 0) { - //璁剧疆缃戝叧缁忕含搴﹀け璐� - string msg = Language.StringByID(R.MyInternationalizationString.uSetGatewaySiteFail); - if (result == -1) + if (mode == ShowErrorMode.YES) { - msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, null, "鍥炲瓒呮椂"); + //璁剧疆缃戝叧缁忕含搴﹀け璐� + string msg = Language.StringByID(R.MyInternationalizationString.uSetGatewaySiteFail); + if (result == -1) + { + msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, null, "鍥炲瓒呮椂"); + } + this.ShowTipMsg(msg); } - this.ShowTipMsg(msg); return false; } -- Gitblit v1.8.0