From a45fe56aeeac8f28a9891b83362954067c8166dc Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期五, 14 八月 2020 09:07:05 +0800
Subject: [PATCH] 请合并新代码,更改多功能面板绑定表重复问题

---
 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs |   54 +++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 37 insertions(+), 17 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs
index 568ce9c..899ed8e 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs
@@ -269,7 +269,8 @@
             btnRight.ButtonClickEvent += (sender, e) =>
             {
                 //鍥炶矾鏁板ぇ浜�1鎵嶅睍寮�
-                if (Common.LocalDevice.Current.GetDevicesCountByMac(deviceMac) > 1)
+                var listMacDevice = LocalDevice.Current.GetDevicesByMac(deviceMac, false);
+                if (listMacDevice.Count > 1)
                 {
                     btnRight.IsSelected = !btnRight.IsSelected;
                     //灞曞紑鎴栬�呮姌鍙犳槑缁嗗垪琛�
@@ -277,9 +278,20 @@
                 }
                 else
                 {
+                    if (LocalDevice.Current.IsMiniLight(listMacDevice[0]) == true)
+                    {
+                        //mini澶滅伅鐨勫姛鑳借缃晫闈�
+                        var room = HdlRoomLogic.Current.GetRoomByDevice(listMacDevice[0]);
+                        var form = new MainPage.DeviceDetailInfoForm();
+                        form.AddForm(listMacDevice[0], room);
+                    }
+                    else
+                    {
+                        //璁惧淇℃伅鐣岄潰
+                        var form = new DeviceMacInfoEditorForm();
+                        form.AddForm(deviceMac);
+                    }
                     btnNew.Visible = false;
-                    var form = new DeviceMacInfoEditorForm();
-                    form.AddForm(deviceMac);
                     //鐣岄潰璺宠浆,璁板綍褰撳墠鐨勬鍦ㄦ搷浣滅殑璁惧鐨凪ac鍦板潃
                     this.nowActionDeviceMac = deviceMac;
                 }
@@ -296,9 +308,22 @@
                     form2.AddForm(deviceMac);
                     return;
                 }
+                var listMacDevice = LocalDevice.Current.GetDevicesByMac(deviceMac, false);
+                if (LocalDevice.Current.IsMiniLight(listMacDevice[0]) == true)
+                {
+                    //mini澶滅伅鐨勫姛鑳借缃晫闈�
+                    var room = HdlRoomLogic.Current.GetRoomByDevice(listMacDevice[0]);
+                    var form = new MainPage.DeviceDetailInfoForm();
+                    form.AddForm(listMacDevice[0], room);
+                }
+                else
+                {
+                    //璁惧淇℃伅鐣岄潰
+                    var form = new DeviceMacInfoEditorForm();
+                    form.AddForm(deviceMac);
+                }
+
                 btnNew.Visible = false;
-                var form = new DeviceMacInfoEditorForm();
-                form.AddForm(deviceMac);
                 //鐣岄潰璺宠浆,璁板綍褰撳墠鐨勬鍦ㄦ搷浣滅殑璁惧鐨凪ac鍦板潃
                 this.nowActionDeviceMac = deviceMac;
             };
@@ -352,7 +377,8 @@
                     }
                 }
                 else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir
-                       || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleEnvironment)
+                       || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleEnvironment
+                       || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment)
                 {
                     var listTemp = Common.LocalDevice.Current.GetPanelMatchEpointByMac(listDevice);
                     //灞曞紑妯″紡鏃讹紝鎵╁ぇ渚濇嵁涓�:瀹冩湁鍑犱釜瀛愭帶浠�
@@ -493,12 +519,6 @@
                 var form = new DeviceAirConditioner.IndoorUnitSettionForm();
                 form.AddForm((AC)device);
             }
-            //鐜闈㈡澘
-            else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment)
-            {
-                var form = new DeviceFunctionSettionForm();
-                form.AddForm(device, true);
-            }
             //鏂伴闈㈡澘
             else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir)
             {
@@ -506,7 +526,7 @@
                 //骞叉帴鐐�
                 if (device.Type == DeviceType.FreshAir)
                 {
-                    var form = new DevicePanel.PanelFangyueFreshAirButtonSettionForm();
+                    var form = new DevicePanel.PanelSettionWithSourceForm();
                     form.AddForm(device);
                 }
                 else
@@ -521,7 +541,7 @@
 
                 if (device.Type == DeviceType.FreshAir || device.Type == DeviceType.Thermostat)
                 {
-                    var form = new DevicePanel.PanelSimpleEnvironmentButtonSettionForm();
+                    var form = new DevicePanel.PanelSettionWithSourceForm();
                     form.AddForm(device);
                 }
                 else
@@ -530,7 +550,7 @@
                     form.AddForm(device, true);
                 }
             }
-            //绠�绾︾幆澧冮潰鏉跨殑鎸夐敭閰嶇疆
+            //绠�绾﹀鍔熻兘闈㈡澘鐨勬寜閿厤缃�
             else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleMultifunction)
             {
                 var form = new DeviceFunctionSettionForm();
@@ -674,7 +694,7 @@
         /// <summary>
         /// 婊戝姩鎺т欢涓嬫媺鍒锋柊
         /// </summary>
-        private async void ListViewBeginHeaderRefreshing()
+        private void ListViewBeginHeaderRefreshing()
         {
             //濡傛灉褰撳墠浣忓畢鏄櫄鎷熺殑
             if (Common.Config.Instance.Home.IsVirtually == true)
@@ -701,7 +721,7 @@
                     {
                         //鏄剧ず杩涘害鏉�
                         ProgressBar.Show();
-                        int result2 = await HdlGatewayLogic.Current.ReBindNewGateway(realWay);
+                        int result2 = HdlGatewayLogic.Current.ReBindNewGateway(realWay);
                         //鍏抽棴杩涘害鏉�
                         ProgressBar.Close();
                         if (result2 == -1)

--
Gitblit v1.8.0