From 6fa9d69da922c8049f5acfcbb9ce9fd26811024c Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期四, 16 四月 2020 17:10:57 +0800
Subject: [PATCH] 请合并代码

---
 ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorWorkModeMenuForm.cs |  288 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 288 insertions(+), 0 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorWorkModeMenuForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorWorkModeMenuForm.cs
new file mode 100755
index 0000000..c4fca7a
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorWorkModeMenuForm.cs
@@ -0,0 +1,288 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading.Tasks;
+using ZigBee.Device;
+
+namespace Shared.Phone.UserCenter.DevicePirSensor
+{
+    /// <summary>
+    /// pir浼犳劅鍣ㄧ殑宸ヤ綔妯″紡鐨勮彍鍗曠晫闈�
+    /// </summary>
+    public class PirSensorWorkModeMenuForm : EditorCommonForm
+    {
+        #region 鈻� 鍙橀噺澹版槑___________________________
+
+        /// <summary>
+        /// pir浼犳劅鍣ㄥ璞�
+        /// </summary>
+        private IASZone iASZone = null;
+        /// <summary>
+        /// 浼犳劅鍣ㄧ殑閰嶇疆淇℃伅
+        /// </summary>
+        private IASZone.ConfigureParamates pirConfigure = null;
+        /// <summary>
+        /// 鏁版嵁鏄惁鏇存敼
+        /// </summary>
+        private bool isDataChanged = false;
+
+        #endregion
+
+        #region 鈻� 鍒濆鍖朹____________________________
+
+        /// <summary>
+        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+        /// </summary>
+        /// <param name="i_iASZone">pir浼犳劅鍣�</param>
+        public void ShowForm(IASZone i_iASZone)
+        {
+            this.iASZone = i_iASZone;
+
+            //璁剧疆澶撮儴淇℃伅
+            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uWorkMode));
+
+            HdlThreadLogic.Current.RunThread(async () =>
+            {
+                //鑾峰彇鍒濆鏁版嵁
+                var result = await this.GetDeviceAllDefultData();
+                if (result == false)
+                {
+                    return;
+                }
+                HdlThreadLogic.Current.RunMain(() =>
+                {
+                    //鍒濆鍖栦腑閮ㄤ俊鎭�
+                    this.InitMiddleFrame();
+                });
+            });
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栦腑閮ㄤ俊鎭�
+        /// </summary>
+        private void InitMiddleFrame()
+        {
+            var frameBack = new FrameLayout();
+            frameBack.Height = Application.GetRealHeight(11);
+            frameBack.BackgroundColor = UserCenterColor.Current.White;
+            bodyFrameLayout.AddChidren(frameBack);
+
+            var listView = new VerticalListControl(12);
+            listView.Height = Application.GetRealHeight(700);
+            listView.Y = frameBack.Bottom;
+            listView.BackgroundColor = UserCenterColor.Current.White;
+            bodyFrameLayout.AddChidren(listView);
+
+            //娣诲姞鎺у埗妯″紡琛�
+            this.AddControlModeRow(listView);
+
+            //娣诲姞瑙﹀彂妯″紡琛�
+            this.AddTriggerModeRow(listView);
+
+            //娣诲姞涓婃姤闂撮殧琛�
+            this.AddReportTimeSpaceRow(listView);
+
+            //璋冩暣楂樺害
+            listView.AdjustRealHeight(Application.GetRealHeight(23));
+
+            //淇濆瓨
+            var btnSave = new BottomClickButton();
+            btnSave.TextID = R.MyInternationalizationString.uSave;
+            bodyFrameLayout.AddChidren(btnSave);
+            btnSave.ButtonClickEvent += (sender, e) =>
+            {
+                if (this.isDataChanged == false)
+                {
+                    //鏁版嵁娌℃湁鍙樻洿杩�,鍏抽棴鐣岄潰
+                    this.CloseForm();
+                    return;
+                }
+                HdlThreadLogic.Current.RunThread(() =>
+                {
+                    //淇濆瓨Pir浼犳劅鍣ㄦ暟鎹�
+                    this.SavePirSensorData();
+                });
+            };
+        }
+
+        #endregion
+
+        #region 鈻� 鎺у埗妯″紡___________________________
+
+        /// <summary>
+        /// 娣诲姞鎺у埗妯″紡琛�
+        /// </summary>
+        /// <param name="listView"></param>
+        private void AddControlModeRow(VerticalListControl listView)
+        {
+            var listSelect = new List<string>();
+            //鍏ㄨ嚜鍔ㄦā寮�
+            listSelect.Add(Language.StringByID(R.MyInternationalizationString.uFullAutoMode));
+            //鍗婅嚜鍔ㄦā寮�
+            listSelect.Add(Language.StringByID(R.MyInternationalizationString.uHafeAutoMode));
+
+            //鎺у埗妯″紡
+            var row1 = new FrameRowControl(listView.rowSpace / 2);
+            listView.AddChidren(row1);
+            var btnCaption1 = row1.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uControlMode), 400);
+            btnCaption1.TextSize = 15;
+            row1.AddRightArrow();
+            var btnStatu = row1.AddMostRightView(this.pirConfigure.mode == 0 ? listSelect[1] : listSelect[0], 400);
+            row1.AddBottomLine();
+            row1.ButtonClickEvent += (sender, e) =>
+            {
+                var form = new BottomItemSelectForm();
+                form.AddForm(btnCaption1.Text, listSelect, this.pirConfigure.mode == 0 ? 1 : 0);
+                form.FinishSelectEvent += (value) =>
+                {
+                    this.isDataChanged = true;
+
+                    btnStatu.Text = listSelect[value];
+                    this.pirConfigure.mode = value == 0 ? 1 : 0;
+                };
+            };
+        }
+
+        #endregion
+
+        #region 鈻� 瑙﹀彂妯″紡___________________________
+
+        /// <summary>
+        /// 娣诲姞瑙﹀彂妯″紡琛�
+        /// </summary>
+        /// <param name="listView"></param>
+        private void AddTriggerModeRow(VerticalListControl listView)
+        {
+            var listSelect = new List<string>();
+            //璋冨厜妯″紡
+            listSelect.Add(Language.StringByID(R.MyInternationalizationString.uDimmingMode));
+            //寮�鍏虫ā寮�
+            listSelect.Add(Language.StringByID(R.MyInternationalizationString.uSwitchMode));
+
+            //瑙﹀彂妯″紡
+            var row2 = new FrameRowControl(listView.rowSpace / 2);
+            listView.AddChidren(row2);
+            var btnCaption2 = row2.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uTriggerMode), 400);
+            btnCaption2.TextSize = 15;
+            row2.AddRightArrow();
+            var btnStatu2 = row2.AddMostRightView(this.pirConfigure.type == 0 ? listSelect[0] : listSelect[1], 400);
+            row2.AddBottomLine();
+            row2.ButtonClickEvent += (sender, e) =>
+            {
+                var form = new BottomItemSelectForm();
+                form.AddForm(btnCaption2.Text, listSelect, this.pirConfigure.type);
+                form.FinishSelectEvent += (value) =>
+                {
+                    this.isDataChanged = true;
+                    btnStatu2.Text = listSelect[value];
+
+                    this.pirConfigure.type = value;
+                    //濡傛灉鏄皟鍏夋ā寮�,鍒欒繘鍏ヤ笅涓�涓晫闈�
+                    if (value == 0)
+                    {
+                        var form2 = new PirSensorDimmingModeForm();
+                        form2.AddForm(pirConfigure);
+                    }
+                };
+            };
+        }
+
+        #endregion
+
+        #region 鈻� 涓婃姤闂撮殧___________________________
+
+        /// <summary>
+        /// 娣诲姞涓婃姤闂撮殧琛�
+        /// </summary>
+        /// <param name="listView"></param>
+        private void AddReportTimeSpaceRow(VerticalListControl listView)
+        {
+            var listTime = new List<string>();
+            var miao = Language.StringByID(R.MyInternationalizationString.uSecond);
+            for (int i = 10; i <= 300; i += 5)
+            {
+                listTime.Add(i + miao);
+            }
+            //璁╁畠澶勪簬5鐨勬暣鍊嶆暟
+            this.pirConfigure.iasReportPeriod = (this.pirConfigure.iasReportPeriod / 5) * 5;
+            int index = listTime.IndexOf(this.pirConfigure.iasReportPeriod + miao);
+
+            //涓婃姤闂撮殧
+            var row3 = new FrameRowControl(listView.rowSpace / 2);
+            listView.AddChidren(row3);
+            var btnCaption3 = row3.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uReportTimeSpace), 400);
+            btnCaption3.TextSize = 15;
+            row3.AddRightArrow();
+            var btnStatu3 = row3.AddMostRightView(this.pirConfigure.iasReportPeriod + miao, 400);
+            row3.ButtonClickEvent += (sender, e) =>
+            {
+                PickerView.Show(listTime, (value) =>
+                {
+                    this.isDataChanged = true;
+
+                    btnStatu3.Text = listTime[value];
+                    this.pirConfigure.iasReportPeriod = Convert.ToInt32(listTime[value].Replace(miao, string.Empty));
+
+                }, index == -1 ? 0 : index, btnCaption3.Text,
+                Language.StringByID(R.MyInternationalizationString.uFinish),
+                Language.StringByID(R.MyInternationalizationString.uCancel));
+            };
+        }
+
+        #endregion
+
+        #region 鈻� 鑾峰彇鍒濆鏁版嵁_______________________
+
+        /// <summary>
+        /// 鑾峰彇鍒濆鏁版嵁
+        /// </summary>
+        /// <returns></returns>
+        private async Task<bool> GetDeviceAllDefultData()
+        {
+            //鎵撳紑杩涘害鏉�
+            this.ShowProgressBar();
+
+            //鑾峰彇PIR浼犳劅鍣ㄧ殑銆愰厤缃俊鎭��
+            this.pirConfigure = await HdlDevicePirSensorLogic.Current.GetPirSensorLightSettion(this.iASZone);
+            if (pirConfigure == null)
+            {
+                //鍏抽棴杩涘害鏉�
+                this.CloseProgressBar(ShowReLoadMode.YES);
+                return false;
+            }
+            //鍏抽棴杩涘害鏉�
+            this.CloseProgressBar();
+
+            return true;
+        }
+
+        #endregion
+
+        #region 鈻� 鏁版嵁淇濆瓨___________________________
+
+        /// <summary>
+        /// 淇濆瓨Pir浼犳劅鍣ㄦ暟鎹�
+        /// </summary>
+        private async void SavePirSensorData()
+        {
+            //鎵撳紑杩涘害鏉�
+            this.ShowProgressBar();
+            //淇濆瓨閰嶇疆淇℃伅
+            var result = await HdlDevicePirSensorLogic.Current.SetPirSensorSettion(this.iASZone, this.pirConfigure);
+
+            //鍏抽棴杩涘害鏉�
+            this.CloseProgressBar();
+
+            if (result == true)
+            {
+                HdlThreadLogic.Current.RunMain(() =>
+                {
+                    //鐣岄潰鍏抽棴
+                    this.CloseForm();
+                });
+            }
+        }
+
+        #endregion
+    }
+}

--
Gitblit v1.8.0