From ed2f4a97aa48cdb4a013d2a389877f52eb3eccdf Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期二, 29 十月 2019 13:15:59 +0800 Subject: [PATCH] Merge branch 'DEV_GXC' of http://172.16.1.23:6688/r/~xm/HomeApp into DEV_GXC --- 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