From fffd8afca5b69a592e9ba8913204f83f478e2f17 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期三, 06 五月 2020 17:28:35 +0800
Subject: [PATCH] 增加获取颜色接口(请合并代码)
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs | 160 +++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 153 insertions(+), 7 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs
old mode 100755
new mode 100644
index 34330b4..e2bd15a
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs
@@ -82,6 +82,34 @@
}
/// <summary>
+ /// 鑾峰彇闈㈡澘棰滆壊鐨勪俊鎭�(鍑洪敊浼氳繑鍥瀗ull)
+ /// </summary>
+ /// <param name="panel">鎸夐敭闈㈡澘鐨勬煇涓�涓洖璺�</param>
+ /// <returns></returns>
+ public async Task<Panel.KeyColorData> GetPanelColorInfo(Panel panel)
+ {
+ panel.DeviceEpoint = 1;
+ Panel.KeyNum keyNum = (Panel.KeyNum)panel.DeviceEpoint;
+ var result = await panel.GetPanelColorInfoAsync(keyNum);
+ //鍏遍�氶敊璇娴�
+ string error = HdlCheckLogic.Current.CheckCommonErrorCode(result);
+ if (error != null)
+ {
+ this.ShowErrorMsg(error);
+ return null;
+ }
+
+ if (result == null || result.keyColorData == null)
+ {
+ //鑾峰彇鎸夐敭闈㈡澘棰滆壊璋冭妭淇℃伅澶辫触
+ string msg = Language.StringByID(R.MyInternationalizationString.uGetPanelColorRegulationInfoFail);
+ this.ShowErrorMsg(msg);
+ return null;
+ }
+ return result.keyColorData;
+ }
+
+ /// <summary>
/// 璁剧疆鎸夐敭闈㈡澘鎸囧畾绔偣鐨勩�愭寚绀虹伅寮�鍏抽鑹层�戠殑淇℃伅
/// </summary>
/// <param name="panel">鎸夐敭闈㈡澘鐨勬煇涓�涓洖璺�</param>
@@ -90,7 +118,7 @@
public async Task<bool> SetPanelEpointColorInfo(Panel panel, Panel.KeyColorData colorData)
{
var keyNum = new Panel.KeyNumStatus();
- Type type = keyNum.GetType();
+ Type type = keyNum.GetType();
type.InvokeMember("Key" + panel.DeviceEpoint, System.Reflection.BindingFlags.SetField, null, keyNum, new object[] { true });
var result = await panel.SetPanelColorInfoAsync(colorData, keyNum);
@@ -111,10 +139,41 @@
//澶囦唤璁惧
await HdlGatewayLogic.Current.UpLoadDeviceBackupDataToGateway(panel, GatewayBackupEnum.A骞叉帴鐐归鑹茶皟鑺�, colorData);
return true;
- }
-
+ }
+
+ /// <summary>
+ /// 璁剧疆闈㈡澘棰滆壊
+ /// </summary>
+ /// <param name="panel">鎸夐敭闈㈡澘鐨�</param>
+ /// <param name="colorData">鍙缃紑鐨勯鑹�</param>
+ /// <returns></returns>
+ public async Task<bool> SetPanelColorInfo(Panel panel, Panel.KeyColorData colorData)
+ {
+ var keyNum = new Panel.KeyNumStatus();
+ //榛樿绗竴涓敤闈㈡澘绗竴涓寜閿鑹蹭綔涓烘暣涓潰鏉跨殑棰滆壊
+ keyNum.Key1 = true;
+ var result = await panel.SetPanelColorInfoAsync(colorData, keyNum);
+ if (result == null || result.responseData == null)
+ {
+ //璁剧疆鎸夐敭闈㈡澘鎸囩ず鐏鑹插け璐�
+ string msg = Language.StringByID(R.MyInternationalizationString.uSetPanelPilolightSettionFail);
+ this.ShowErrorMsg(msg);
+ return false;
+ }
+ if (result.responseData.status != 0)
+ {
+ //璁剧疆鎸夐敭闈㈡澘鎸囩ず鐏鑹插け璐�
+ string msg = Language.StringByID(R.MyInternationalizationString.uSetPanelPilolightSettionFail);
+ this.ShowErrorMsg(msg);
+ return false;
+ }
+ //澶囦唤璁惧
+ await HdlGatewayLogic.Current.UpLoadDeviceBackupDataToGateway(panel, GatewayBackupEnum.A骞叉帴鐐归鑹茶皟鑺�, colorData);
+ return true;
+ }
+
#endregion
-
+
#region 鈻� 浜害璋冭妭___________________________
/// <summary>
/// 鑾峰彇璁惧浜害閰嶇疆锛坲i鍙寒搴﹁皟鑺�,浣跨敤杩斿洖鍊肩殑panelDirectionsLevel锛�
@@ -203,6 +262,87 @@
return true;
}
+ #endregion
+
+ #region 鈻� 鎺ヨ繎鎰熷簲___________________________
+ /// <summary>
+ /// 鑾峰彇鎺ヨ繎鎰熷簲閰嶇疆锛坲i鍙帴杩戞劅搴�,浣跨敤杩斿洖鍊肩殑panelProximitySensorInfo锛�
+ /// </summary>
+ /// <param name="device">璁惧瀵硅薄</param>
+ /// <returns></returns>
+ public async Task<Panel.PanelProximitySensorInfo> GetDeviceProximitySensorsSettion(CommonDevice device)
+ {
+ //鍊熺敤瀹冪殑鍑芥暟
+ var panel = new Panel();
+ panel.DeviceAddr = device.DeviceAddr;
+ panel.DeviceEpoint = device.DeviceEpoint;
+ panel.CurrentGateWayId = device.CurrentGateWayId;
+
+ var result = await panel.GetProximitySensorAsync();
+ panel = null;
+ //鍏遍�氶敊璇娴�
+ string error = HdlCheckLogic.Current.CheckCommonErrorCode(result);
+ if (error != null)
+ {
+ this.ShowErrorMsg(error);
+ return null;
+ }
+ if (result == null || result.panelProximitySensorInfo == null || string.IsNullOrEmpty(result.errorMessageBase) == false)
+ {
+ //鑾峰彇鎺ヨ繎鎰熷簲淇℃伅澶辫触
+ string msg = Language.StringByID(R.MyInternationalizationString.GetPanelProximityFail);
+ this.ShowErrorMsg(msg);
+ return null;
+ }
+ return result.panelProximitySensorInfo;
+ }
+
+
+ /// <summary>
+ /// 閰嶇疆鎺ヨ繎浼犳劅
+ /// </summary>
+ /// <param name="device">璁惧瀵硅薄</param>
+ /// <para>sensorEnable:浼犳劅鍣ㄤ娇鑳�</para>
+ /// <returns></returns>
+ public async Task<bool> SetProximitySensorStatus(CommonDevice device, bool sensorEnable)
+ {
+ //鍊熺敤瀹冪殑鍑芥暟
+ var panel = new Panel();
+ panel.DeviceAddr = device.DeviceAddr;
+ panel.DeviceEpoint = device.DeviceEpoint;
+ panel.CurrentGateWayId = device.CurrentGateWayId;
+
+ var result = await panel.SetProximitySensor(sensorEnable);
+ panel = null;
+
+ //鍏遍�氶敊璇娴�
+ string error = HdlCheckLogic.Current.CheckCommonErrorCode(result);
+ if (error != null)
+ {
+ this.ShowErrorMsg(error);
+ return false;
+ }
+
+ if (result == null || result.responseData == null)
+ {
+ //鎺ヨ繎浼犳劅閰嶇疆澶辫触
+ string msg = Language.StringByID(R.MyInternationalizationString.SetPannelProximityFail);
+ //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg
+ msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, result);
+
+ this.ShowTipMsg(msg);
+ return false;
+ }
+
+ // 澶囦唤璁惧
+ var backData = new Newtonsoft.Json.Linq.JObject
+ {
+ { "sensorEnable",sensorEnable }
+ };
+ //澶囦唤璁惧
+ await HdlGatewayLogic.Current.UpLoadDeviceBackupDataToGateway(device, GatewayBackupEnum.A闈㈡澘鎺ヨ繎鎰熷簲鍔熻兘, backData);
+ return true;
+ }
#endregion
#region 鈻� 鑺傝兘妯″紡___________________________
@@ -479,12 +619,12 @@
#region 鈻� 淇敼骞叉帴鐐圭鏈夊睘鎬________________
/// <summary>
- /// 淇敼骞叉帴鐐圭鏈夊睘鎬�
+ /// 淇敼骞叉帴鐐圭涓夌骇鍒殑绉佹湁灞炴��
/// </summary>
/// <param name="panel">骞叉帴鐐瑰璞�</param>
/// <param name="i_value">骞叉帴鐐圭殑绗笁绾у埆灞炴�х殑鍊�,鍏蜂綋璇峰弬鐓х涓夌骇鍒睘鎬�</param>
/// <returns></returns>
- public async Task<bool> EditorDryContactFunction(Panel panel, int i_value)
+ public async Task<bool> EditorDryContactThirdFunction(Panel panel, int i_value)
{
var result = await panel.ConfigureHdlKeyValueAsync((Panel.KeyMode)i_value);
//鍏遍�氶敊璇娴�
@@ -537,7 +677,7 @@
return false;
}
//澶囦唤璁惧
- await HdlGatewayLogic.Current.UpLoadDeviceBackupDataToGateway(panel, GatewayBackupEnum.A骞叉帴鐐圭鏈夊睘鎬�, i_value);
+ await HdlGatewayLogic.Current.UpLoadDeviceBackupDataToGateway(panel, GatewayBackupEnum.A骞叉帴鐐圭涓夌骇鍒鏈夊睘鎬�, i_value);
return true;
}
@@ -707,7 +847,13 @@
errorMsg = UserCenterLogic.CombineGatewayTimeOutMsg(errorMsg, null, "鍥炲瓒呮椂", false);
}
this.ShowTipMsg(errorMsg);
+ return false;
}
+ //澶囦唤璁惧
+ HdlThreadLogic.Current.RunThread(async () =>
+ {
+ await HdlGatewayLogic.Current.UpLoadDeviceBackupDataToGateway(device, GatewayBackupEnum.A绠�绾﹂潰鏉块渿鍔ㄥ姛鑳�, datainfo);
+ }, ShowErrorMode.NO);
return success;
}
--
Gitblit v1.8.0