From e96e11d6f8b965ea522c983e040d41e3b9ef105a Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期一, 18 五月 2020 21:33:19 +0800
Subject: [PATCH] 2020-05-18-4
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs | 105 +++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 82 insertions(+), 23 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs
index aeffe47..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;
@@ -1396,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);
}
}
@@ -1438,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
@@ -1456,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];
}
});
}
@@ -1469,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];
}
}
}
@@ -1561,6 +1565,54 @@
System.Threading.Thread.Sleep(500);
}
return result;
+ }
+
+ #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
@@ -2209,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;
}
@@ -2262,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