From cc0d80c7d86c6d0167269b3408c4b30c24ce84e9 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 23 三月 2020 16:55:37 +0800 Subject: [PATCH] ??????? --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs | 93 ++++++++++++++++++++++++++++------------------ 1 files changed, 56 insertions(+), 37 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs index 5fafb97..3f1200f 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"); } } } @@ -1632,8 +1637,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 +1649,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 +2213,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 +2270,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