From 71f1df7772feec5cf83feefa851608adac18e005 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期三, 06 十一月 2019 17:45:23 +0800
Subject: [PATCH] 2019.11.6
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlPirSensorLogic.cs | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 161 insertions(+), 0 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlPirSensorLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlPirSensorLogic.cs
new file mode 100755
index 0000000..95b7c22
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlPirSensorLogic.cs
@@ -0,0 +1,161 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using ZigBee.Device;
+using System.Threading.Tasks;
+
+namespace Shared.Phone.UserCenter
+{
+ /// <summary>
+ /// PIR浼犳劅鍣ㄧ殑閫昏緫
+ /// </summary>
+ public class HdlPirSensorLogic
+ {
+ #region 鈻� 鍙橀噺澹版槑___________________________
+
+ /// <summary>
+ /// PIR浼犳劅鍣ㄧ殑閫昏緫
+ /// </summary>
+ private static HdlPirSensorLogic m_Current = null;
+ /// <summary>
+ /// PIR浼犳劅鍣ㄧ殑閫昏緫
+ /// </summary>
+ public static HdlPirSensorLogic Current
+ {
+ get
+ {
+ if (m_Current == null)
+ {
+ m_Current = new HdlPirSensorLogic();
+ }
+ return m_Current;
+ }
+ }
+ #endregion
+
+ #region 鈻� 鍏夋劅绛夌骇鎬诲埢搴____________________
+
+ /// <summary>
+ /// 鑾峰彇PIR浼犳劅鍣ㄧ殑銆愬厜鎰熺瓑绾ф�诲埢搴︺�戯紝閿欒鏃惰繑鍥�-1
+ /// </summary>
+ /// <param name="iASZone"></param>
+ /// <returns></returns>
+ public async Task<int> GetPirLightAbilitySize(IASZone iASZone)
+ {
+ var data = await iASZone.GetPIRLightAbilitySizeAsync();
+ //鍏遍�氶敊璇娴�
+ string error = HdlCheckLogic.Current.CheckCommonErrorCode(data);
+ if (error != null)
+ {
+ this.ShowErrorMsg(error);
+ return -1;
+ }
+
+ if (data == null || data.errorMessageBase != null || data.LightLevelCount == -1)
+ {
+ //鑾峰彇浼犳劅鍣ㄥ厜鎰熺瓑绾уけ璐�
+ string msg = Language.StringByID(R.MyInternationalizationString.uGetPirSensorLightPerceptionRegulationFail);
+ //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg
+ msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, data);
+
+ this.ShowErrorMsg(msg);
+ return -1;
+ }
+
+ return data.LightLevelCount;
+ }
+
+ #endregion
+
+ #region 鈻� 鑾峰彇鐏厜閰嶇疆_______________________
+
+ /// <summary>
+ /// 鑾峰彇PIR浼犳劅鍣ㄧ殑銆愮伅鍏夐厤缃�戯紝閿欒鏃惰繑鍥瀗ull
+ /// </summary>
+ /// <param name="iASZone"></param>
+ /// <returns></returns>
+ public async Task<IASZone.ConfigureParamates> GetPirSensorLightSettion(IASZone iASZone)
+ {
+ var data = await iASZone.GetPIRSensorParamateAsync();
+ if (data == null || data.configureParamates == null)
+ {
+ //鑾峰彇浼犳劅鍣ㄧ伅鍏夎缃俊鎭け璐�
+ string msg = Language.StringByID(R.MyInternationalizationString.uGetPirSensorLightSettionFail);
+ //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg
+ msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, data);
+
+ this.ShowErrorMsg(msg);
+ return null;
+ }
+ return data.configureParamates;
+ }
+
+ #endregion
+
+ #region 鈻� 璁剧疆鐏厜閰嶇疆_______________________
+
+ /// <summary>
+ /// 璁剧疆PIR浼犳劅鍣ㄧ殑銆愮伅鍏夐厤缃��
+ /// </summary>
+ /// <param name="iASZone">浼犳劅鍣ㄥ璞�</param>
+ /// <param name="configure">鐏厜閰嶇疆</param>
+ /// <returns></returns>
+ public async Task<bool> SetPirSensorLightSettion(IASZone iASZone, IASZone.ConfigureParamates configure)
+ {
+ var result = await iASZone.SetPIRSensorParamateAsync(configure);
+ if (result == null || result.responseData == null)
+ {
+ //璁剧疆浼犳劅鍣ㄧ伅鍏夐厤缃け璐�
+ string msg = Language.StringByID(R.MyInternationalizationString.uSetPirSensorLightSettionFail);
+ //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg
+ msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, result);
+
+ this.ShowErrorMsg(msg);
+ return false;
+ }
+ if (result.responseData.status != 0)
+ {
+ //璁剧疆浼犳劅鍣ㄧ伅鍏夐厤缃け璐�
+ string msg = Language.StringByID(R.MyInternationalizationString.uSetPirSensorLightSettionFail);
+ this.ShowErrorMsg(msg);
+ return false;
+ }
+ //澶囦唤璁剧疆
+ await HdlGatewayLogic.Current.UpLoadDeviceBackupDataToGateway(iASZone, GatewayBackupEnum.APir鐏厜閰嶇疆, configure);
+
+ return true;
+ }
+
+ #endregion
+
+ #region 鈻� 涓�鑸柟娉昣__________________________
+
+ /// <summary>
+ /// 鏄剧ず閿欒淇℃伅绐楀彛
+ /// </summary>
+ /// <param name="msg"></param>
+ private void ShowErrorMsg(string msg)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ var contr = new ShowMsgControl(ShowMsgType.Error, msg);
+ contr.Show();
+ });
+ }
+
+ /// <summary>
+ /// 鏄剧ずTip淇℃伅绐楀彛
+ /// </summary>
+ /// <param name="msg"></param>
+ private void ShowTipMsg(string msg)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ var contr = new UserCenter.ShowMsgControl(ShowMsgType.Tip, msg);
+ contr.Show();
+ });
+ }
+
+ #endregion
+ }
+}
--
Gitblit v1.8.0