From 5986f63b75bd81c6cef262c670e9251c038cbf5d Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期二, 17 十二月 2019 17:21:07 +0800
Subject: [PATCH] 合并一个版本

---
 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs |  140 ++++++++++++++++++++++++++++++++++++----------
 1 files changed, 109 insertions(+), 31 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
index a386ce3..98c72f0 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
@@ -223,6 +223,9 @@
             //娣诲姞銆愰�氱敤淇℃伅銆戣
             this.AddGeneralInformationRow();
 
+            //娣诲姞銆愮┖璋冩ā鍧楃増鏈�(绌鸿皟涓撶敤)銆戣
+            this.AddAirConditionerModelVersionRow();
+
             if (isHdlDevice == true)
             {
                 //娣诲姞銆愬浐浠跺崌绾с�戣
@@ -257,21 +260,19 @@
                      if (UserCenterResourse.UserInfo.AuthorityNo == 1)
                      {
                          Action action = null;
-                         if (!UserCenterResourse.Option.DoorUnLockByRemote)
+                         Action actionNone = null;
+                         action = () =>
+                         {
+                             var userManagement = new Shared.Phone.UserCenter.DoorLock.UserManagement(doorLock);
+                             Shared.Phone.UserView.HomePage.Instance.AddChidren(userManagement);
+                             Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+                             userManagement.Show();
+                         };
+                         actionNone = () =>
                          {
                              Shared.Phone.UserCenter.DoorLock.DoorLockCommonLayout.SecurityRequest(doorLock, action);
-                         }
-                         else
-                         {
-                             action = async () =>
-                             {
-                                 var userManagement = new Shared.Phone.UserCenter.DoorLock.UserManagement(doorLock);
-                                 Shared.Phone.UserView.HomePage.Instance.AddChidren(userManagement);
-                                 Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
-                                 userManagement.Show();
-                             };
-                             HdlCheckLogic.Current.CheckSecondarySecurity(action);
-                         }
+                         };
+                         HdlCheckLogic.Current.CheckSecondarySecurity(action, actionNone);
                      }
                      else
                      {
@@ -279,10 +280,21 @@
                          var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid);
                          if (result == false)
                          {
-                             var userManagement = new Shared.Phone.UserCenter.DoorLock.UserManagement(doorLock);
-                             Shared.Phone.UserView.HomePage.Instance.AddChidren(userManagement);
-                             Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
-                             userManagement.Show();
+                             Action action = null;
+                             Action actionNone = null;
+                             action = () =>
+                             {
+                                 var userManagement = new Shared.Phone.UserCenter.DoorLock.UserManagement(doorLock);
+                                 Shared.Phone.UserView.HomePage.Instance.AddChidren(userManagement);
+                                 Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+                                 userManagement.Show();
+                             };
+                             actionNone = () =>
+                             {
+                                 Shared.Phone.UserCenter.DoorLock.DoorLockCommonLayout.SecurityRequest(doorLock, action);
+                             };
+                             HdlCheckLogic.Current.CheckSecondarySecurity(action, actionNone);
+
                          }
                          else
                          {
@@ -641,7 +653,7 @@
 
             //娣诲姞灞炴�т笂鎶ョ洃鍚�
             string mainkeys = LocalDevice.Current.GetDeviceMainKeys(this.listNewDevice[0]);
-            HdlDeviceAttributeLogic.Current.AddAttributeEvent("HandPullControl", "DeviceStatusReport", (device) =>
+            HdlGatewayReceiveLogic.Current.AddAttributeEvent("HandPullControl", ReceiveComandDiv.A璁惧灞炴�т笂鎶�, (device) =>
             {
                 string checkKey = LocalDevice.Current.GetDeviceMainKeys(device);
                 if (mainkeys != checkKey || device.DeviceStatusReport.CluterID != 258)
@@ -719,6 +731,51 @@
 
         #endregion
 
+        #region 鈻� 绌鸿皟妯″潡鐗堟湰(绌鸿皟涓撶敤)_____________
+
+        /// <summary>
+        /// 娣诲姞銆愮┖璋冩ā鍧楃増鏈�戣(娌充笢鐨勪腑澶┖璋�)
+        /// </summary>
+        private void AddAirConditionerModelVersionRow()
+        {
+            if (this.deviceEnumInfo.ConcreteType != DeviceConcreteType.AirConditioner_ZbGateway)
+            {
+                //涓嶆槸涓ぎ绌鸿皟
+                return;
+            }
+            string caption = Language.StringByID(R.MyInternationalizationString.uAirConditionerModelVersion);
+            var rowVersion = new FrameRowControl(listview.rowSpace / 2);
+            rowVersion.UseClickStatu = false;
+            listview.AddChidren(rowVersion);
+            rowVersion.AddLeftCaption(caption, 600);
+            //鐗堟湰
+            var btnVersion = rowVersion.AddMostRightView(Language.StringByID(R.MyInternationalizationString.uGetting), 800);
+            //搴曠嚎
+            rowVersion.AddBottomLine();
+            HdlThreadLogic.Current.RunThread(async () =>
+            {
+                //璇诲彇绌鸿皟妯″潡鐗堟湰
+                var result = await ((AC)listNewDevice[0]).ReadACFirewareVersionAsync();
+                if (result == null || result.readACFirewareVersionResponData == null || result.readACFirewareVersionResponData.Status != 0)
+                {
+                    HdlThreadLogic.Current.RunMain(() =>
+                    {
+                        //鑾峰彇澶辫触
+                        btnVersion.TextID = R.MyInternationalizationString.uGettingFail;
+                    });
+                }
+                else
+                {
+                    HdlThreadLogic.Current.RunMain(() =>
+                    {
+                        btnVersion.Text = result.readACFirewareVersionResponData.FirewareVersion.Replace("-", string.Empty);
+                    });
+                }
+            });
+        }
+
+        #endregion
+
         #region 鈻� 鍥轰欢鍗囩骇___________________________
 
         /// <summary>
@@ -753,9 +810,19 @@
 
             rowUpDate.ButtonClickEvent += (sender, e) =>
             {
+                if (this.deviceEnumInfo.ConcreteType != DeviceConcreteType.AirConditioner_ZbGateway)
+                {
+                    //杩欎釜鏄竴鑸澶囩殑鍗囩骇
+                    var form = new DeviceFirmwareUpdateForm();
+                    form.AddForm(listNewDevice[0].DeviceAddr);
+                }
+                else
+                {
+                    //涓ぎ绌鸿皟鐨勫崌绾х殑璇濓紝鏄壒娈婄殑
+                    var form = new DeviceAirConditioner.ACZbGatewayUpdateMenuForm();
+                    form.AddForm(listNewDevice[0].DeviceAddr, btnNewVersion.Visible);
+                }
                 btnNewVersion.Visible = false;
-                var form = new DeviceFirmwareInfoForm();
-                form.AddForm(listNewDevice[0].DeviceAddr);
             };
 
             //璁剧疆璁惧鐨勭増鏈俊鎭�
@@ -909,16 +976,27 @@
         /// <summary>
         /// 鍒犻櫎鎸囧畾璁惧
         /// </summary>
-        private async void DoDeleteDevice()
+        private void DoDeleteDevice()
         {
-            //鍒犻櫎璁惧
-            bool result = await Common.LocalDevice.Current.DeleteDevice(listNewDevice);
-            if (result == false)
+            HdlThreadLogic.Current.RunThread(async () =>
             {
-                return;
-            }
-            //鍏抽棴鐣岄潰
-            this.CloseForm();
+                //鎵撳紑杩涘害鏉�
+                this.ShowProgressBar();
+
+                //鍒犻櫎璁惧
+                bool result = await Common.LocalDevice.Current.DeleteDevice(listNewDevice);
+                //鍏抽棴杩涘害鏉�
+                this.CloseProgressBar();
+                if (result == false)
+                {
+                    return;
+                }
+                HdlThreadLogic.Current.RunMain(() =>
+                {
+                    //鍏抽棴鐣岄潰
+                    this.CloseForm();
+                });
+            });
         }
         #endregion
 
@@ -927,13 +1005,13 @@
         /// <summary>
         /// 鐢婚潰鍏抽棴
         /// </summary>
-        public override void CloseForm()
+        public override void CloseFormBefore()
         {
-            HdlDeviceAttributeLogic.Current.RemoveEvent("HandPullControl");
+            HdlGatewayReceiveLogic.Current.RemoveEvent("HandPullControl");
             //绉婚櫎鑾峰彇璁惧纭欢淇℃伅鐨勭洃鍚嚎绋�
             HdlDeviceHardInfoLogic.Current.RemoveDeviceHardInfoThread(listNewDevice[0]);
 
-            base.CloseForm();
+            base.CloseFormBefore();
         }
 
         #endregion

--
Gitblit v1.8.0