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