From 48ba446936b51fffafa7c3600c0dadc6ac0e8c20 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 10 七月 2020 10:52:13 +0800
Subject: [PATCH] 2020-07-10-01

---
 ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs |   91 ++++++++++++++++++++++++++++++++++-----------
 1 files changed, 69 insertions(+), 22 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs
index f1f280b..55dbad5 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs
@@ -369,19 +369,26 @@
                 }
             }
 
-            //寤舵椂
-            string strMinute = pirConfigure.transitionTime / 60 + Language.StringByID(R.MyInternationalizationString.uMinute);
-            string strSecond = pirConfigure.transitionTime % 60 + Language.StringByID(R.MyInternationalizationString.uSecond);
-            var rowDelay = new FrameRowControl(listView.rowSpace / 2);
-            rowDelay.LeftOffset = Application.GetRealWidth(138) - ControlCommonResourse.XXLeft;
-            frameResult.AddChidren(rowDelay);
-            rowDelay.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uDelayed), 300);
-            rowDelay.AddRightArrow();
-            var btnDelayView = rowDelay.AddMostRightView(strMinute + strSecond, 700);
-            rowDelay.ButtonClickEvent += (sender, e) =>
+            //寤舵椂(鍗婅嚜鍔ㄦ病鏈夊欢鏃剁殑姒傚康)
+            if (this.pirConfigure.mode == 1)
             {
-                this.ShowDelayListTime(btnDelayView);
-            };
+                string strMinute = string.Empty;
+                if (pirConfigure.transitionTime / 60 > 0)
+                {
+                    strMinute = pirConfigure.transitionTime / 60 + Language.StringByID(R.MyInternationalizationString.uMinute);
+                }
+                string strSecond = pirConfigure.transitionTime % 60 + Language.StringByID(R.MyInternationalizationString.uSecond);
+                var rowDelay = new FrameRowControl(listView.rowSpace / 2);
+                rowDelay.LeftOffset = Application.GetRealWidth(138) - ControlCommonResourse.XXLeft;
+                frameResult.AddChidren(rowDelay);
+                rowDelay.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uDelayed), 300);
+                rowDelay.AddRightArrow();
+                var btnDelayView = rowDelay.AddMostRightView(strMinute + strSecond, 700);
+                rowDelay.ButtonClickEvent += (sender, e) =>
+                {
+                    this.ShowDelayListTime(btnDelayView);
+                };
+            }
 
             //淇濆瓨
             var btnSave = new BottomClickButton();
@@ -411,7 +418,7 @@
             this.ShowProgressBar();
 
             //鑾峰彇缁戝畾鐩爣璁惧
-            List<CommonDevice> listDevice = await HdlDeviceBindLogic.Current.GetBindTargetDevice(this.deviceIASZone);
+            List<CommonDevice> listDevice = HdlDeviceBindLogic.Current.GetBindTargetDevice(this.deviceIASZone);
             if (listDevice == null)
             {
                 //鍏抽棴杩涘害鏉�
@@ -421,7 +428,11 @@
             this.listEsixtDevice.Clear();
             foreach (var device in listDevice)
             {
-                this.listEsixtDevice.Add(Common.LocalDevice.Current.GetDeviceMainKeys(device));
+                string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(device);
+                if (listEsixtDevice.Contains(mainKeys) == false)
+                {
+                    listEsixtDevice.Add(mainKeys);
+                }
             }
             //鑾峰彇PIR浼犳劅鍣ㄧ殑銆愬厜鎰熺瓑绾ф�诲埢搴︺��
             this.lightLevelCount = await HdlDevicePirSensorLogic.Current.GetPirLightAbilitySize(this.deviceIASZone);
@@ -437,7 +448,7 @@
             }
 
             //鑾峰彇pir鐨勯厤缃俊鎭�
-            this.pirConfigure = await HdlDevicePirSensorLogic.Current.GetPirSensorLightSettion(deviceIASZone);
+            this.pirConfigure = HdlDevicePirSensorLogic.Current.GetPirSensorLightSettion(deviceIASZone);
             if (pirConfigure == null)
             {
                 //鍏抽棴杩涘害鏉�
@@ -509,7 +520,7 @@
 
             PickerView.ShowSecondary(listfirst, listSecond, (value1, value2) =>
              {
-                 btnTime.Text = listfirst[value1] + listSecond[value1][value2];
+                 btnTime.Text = listfirst[value1].TrimStart('0') + listSecond[value1][value2];
                  int minute = Convert.ToInt32(listfirst[value1].Substring(0, 2));
                  int second = Convert.ToInt32(listSecond[value1][value2].Substring(0, 2));
                  int delaySecond = minute * 60 + second;
@@ -530,7 +541,7 @@
         /// <summary>
         /// 淇濆瓨Pir浼犳劅鍣ㄦ暟鎹�
         /// </summary>
-        private async void SavePirSensorData()
+        private void SavePirSensorData()
         {
             if (this.isDataChanged == false)
             {
@@ -549,44 +560,80 @@
             {
                 //鍒犻櫎缁戝畾鐩爣
                 var listDelDevice = new List<CommonDevice>();
+                var listLightDevice = new List<CommonDevice>();
                 foreach (string mainKey in listEsixtDevice)
                 {
                     if (this.listSaveDevice.Contains(mainKey) == false)
                     {
-                        listDelDevice.Add(Common.LocalDevice.Current.GetDevice(mainKey));
+                        var myDevice = Common.LocalDevice.Current.GetDevice(mainKey);
+                        listDelDevice.Add(myDevice);
+                        if (myDevice.Type == DeviceType.DimmableLight)
+                        {
+                            //濡傛灉鏄皟鍏夊櫒鐨勮瘽,鐗规畩涓�鐐�
+                            listLightDevice.Add(myDevice);
+                        }
                     }
                 }
                 if (listDelDevice.Count > 0)
                 {
                     //鍒犻櫎鐩爣
-                    var listSucess = await HdlDeviceBindLogic.Current.DeleteDeviceTarget(deviceIASZone, listDelDevice);
+                    var listSucess = HdlDeviceBindLogic.Current.DeleteDeviceTarget(deviceIASZone, listDelDevice);
                     if (listSucess == null || listSucess.Count == 0)
                     {
                         //鍏抽棴杩涘害鏉�
                         this.CloseProgressBar();
                         return;
+                    }
+                    if (listLightDevice.Count > 0)
+                    {
+                        //鍒犻櫎璋冨厜鍣ㄩ暈
+                        listSucess = HdlDeviceBindLogic.Current.DeleteDeviceTarget(deviceIASZone, listLightDevice, 8);
+                        if (listSucess == null || listSucess.Count == 0)
+                        {
+                            //鍏抽棴杩涘害鏉�
+                            this.CloseProgressBar();
+                            return;
+                        }
                     }
                 }
                 //缁戝畾鐩爣
                 var listBind = new List<CommonDevice>();
+                listLightDevice = new List<CommonDevice>();
                 foreach (var mainKey in listSaveDevice)
                 {
-                    listBind.Add(Common.LocalDevice.Current.GetDevice(mainKey));
+                    var myDevice = Common.LocalDevice.Current.GetDevice(mainKey);
+                    listBind.Add(myDevice);
+                    if (myDevice.Type == DeviceType.DimmableLight)
+                    {
+                        //濡傛灉鏄皟鍏夊櫒鐨勮瘽,鐗规畩涓�鐐�
+                        listLightDevice.Add(myDevice);
+                    }
                 }
                 if (listSaveDevice.Count > 0)
                 {
                     //缁戝畾鐩爣
-                    var listSucess = await HdlDeviceBindLogic.Current.BindDeviceTarget(deviceIASZone, listBind);
+                    var listSucess = HdlDeviceBindLogic.Current.BindDeviceTarget(deviceIASZone, listBind);
                     if (listSucess == null || listSucess.Count == 0)
                     {
                         //鍏抽棴杩涘害鏉�
                         this.CloseProgressBar();
                         return;
                     }
+                    if (listLightDevice.Count > 0)
+                    {
+                        //缁戝畾璋冨厜闀�
+                        listSucess = HdlDeviceBindLogic.Current.BindDeviceTarget(deviceIASZone, listLightDevice, 8);
+                        if (listSucess == null || listSucess.Count == 0)
+                        {
+                            //鍏抽棴杩涘害鏉�
+                            this.CloseProgressBar();
+                            return;
+                        }
+                    }
                 }
             }
             //淇濆瓨pir閰嶇疆淇℃伅
-            var result = await HdlDevicePirSensorLogic.Current.SetPirSensorSettion(this.deviceIASZone, this.pirConfigure);
+            var result = HdlDevicePirSensorLogic.Current.SetPirSensorSettion(this.deviceIASZone, this.pirConfigure);
             if (result == false)
             {
                 //鍏抽棴杩涘害鏉�

--
Gitblit v1.8.0