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/DeviceMacInfoEditorForm.cs |  171 ++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 140 insertions(+), 31 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
index b044283..4865485 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
@@ -20,7 +20,7 @@
         /// <summary>
         /// 鍒楄〃鎺т欢
         /// </summary>
-        private VerticalListControl listview = null;
+        private FrameListControl listview = null;
         /// <summary>
         /// 璁惧鐨勮澶囩被鍨�
         /// </summary>
@@ -61,7 +61,7 @@
             this.deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listNewDevice);
 
             //璁剧疆鏍囬淇℃伅
-            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDeviceInfo));
+            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDeviceSettion));
 
             //鍒濆鍖栧彸涓婅鑿滃崟
             this.InitTopRightMenu();
@@ -81,15 +81,19 @@
             //娓呯┖bodyFrame
             this.ClearBodyFrame();
 
+            var listBackControl = new VerticalFrameControl();
+            listBackControl.Height = bodyFrameLayout.Height;
+            bodyFrameLayout.AddChidren(listBackControl);
+
             //鍒濆鍖栨甯�
             var tableContr = new InformationEditorControl();
-            this.listview = tableContr.InitControl(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.uInfoEditor), 369, 1368);
+            this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uInfoEditor), 1368);
 
             //鍥剧墖
             var btnPic = new DeviceInfoIconControl();
             btnPic.Y = Application.GetRealHeight(92);
             btnPic.Gravity = Gravity.CenterHorizontal;
-            bodyFrameLayout.AddChidren(btnPic);
+            listBackControl.frameTable.AddChidren(btnPic);
             btnPic.InitControl(listNewDevice[0]);
 
             //璁惧澶囨敞
@@ -124,16 +128,18 @@
             //鍒掔嚎
             btnType.AddBottomLine();
 
-            //鎵�灞炲尯鍩�
+            //瀹夎浣嶇疆
             var rowBeloneArea = new BelongAreaControl(listview.rowSpace / 2);
             listview.AddChidren(rowBeloneArea);
-            rowBeloneArea.InitControl(Language.StringByID(R.MyInternationalizationString.uBelongArea), this.listNewDevice);
+            rowBeloneArea.InitControl(Language.StringByID(R.MyInternationalizationString.uInstallationLocation), this.listNewDevice);
             //搴曠嚎
             rowBeloneArea.AddBottomLine();
 
             var listCheck = new List<string>();
             rowBeloneArea.SelectRoomEvent += (roomKeys) =>
             {
+                //閫夋嫨鏈垎閰嶆椂,娓呯┖
+                if (roomKeys == string.Empty) { listCheck = new List<string>(); }
                 foreach (var device in this.listNewDevice)
                 {
                     if (device is OTADevice)
@@ -141,18 +147,24 @@
                         //閽堝鍗曠函鍙湁涓�涓�200绔偣鐨勮澶�
                         continue;
                     }
-                    var room = Room.CurrentRoom.GetRoomByDevice(device);
+                    if (roomKeys == string.Empty)
+                    {
+                        //濡傛灉閫夋嫨鐨勬槸鏈垎閰嶏紝鍒欏畠鐨勫叏閮ㄥ洖璺棤鏉′欢鍏ㄩ儴娓呯┖鎴块棿
+                        HdlRoomLogic.Current.ChangedRoom(device, roomKeys);
+                        continue;
+                    }
+                    var room = HdlRoomLogic.Current.GetRoomByDevice(device);
                     string mainKeys = LocalDevice.Current.GetDeviceMainKeys(device);
                     if (room == null)
                     {
                         //杩欓噷鏈夌偣鐗规畩,濡傛灉鍥炶矾娌℃湁璁剧疆鏈夊尯鍩熺殑鏃跺��,鎵嶈缃�
                         listCheck.Add(mainKeys);
-                        Room.CurrentRoom.ChangedRoom(device, roomKeys);
+                        HdlRoomLogic.Current.ChangedRoom(device, roomKeys);
                     }
                     else if (listCheck.Contains(mainKeys) == true)
                     {
                         //濡傛灉杩欎釜鍥炶矾涔嬪墠閮借繕娌℃湁鍖哄煙,鍦ㄦ湰鐣岄潰杩樻病鏈夊叧闂箣鍓�,鍙互鏃犳潯浠堕殢渚垮彉鏇�
-                        Room.CurrentRoom.ChangedRoom(device, roomKeys);
+                        HdlRoomLogic.Current.ChangedRoom(device, roomKeys);
                     }
                 }
                 //淇濆瓨璁惧鎴块棿绱㈠紩
@@ -163,7 +175,7 @@
             this.AddAllMenuRow();
 
             //鍒濆鍖栨甯冨畬鎴�
-            tableContr.FinishInitControl(bodyFrameLayout, this.listview);
+            tableContr.FinishInitControl();
             tableContr = null;
 
             //淇濆瓨
@@ -227,10 +239,19 @@
                 this.AddDirectionAndLimitRow();
                 //娣诲姞銆愭墜鎷夋帶鍒躲�戣(寮�鍚堝笜涓撶敤)
                 this.AddHandPullControlRow();
-                //娣诲姞銆愭寜閿缃�戣(闈㈡澘涓撶敤)
-                this.AddPanelSettionRow();
-                //娣诲姞銆愬姛鑳借缃�戣
-                this.AddFunctionSettionRow();
+                //娣诲姞銆愭寜閿缃�戣(鏂规偊涓撶敤) --杩欎釜鏈夊彲鑳藉拰闈㈡澘閲嶅彔
+                if (this.AddFangyuePanelSettionRow() == false)
+                {
+                    //娣诲姞銆愭寜閿缃�戣(闈㈡澘涓撶敤)
+                    this.AddPanelSettionRow();
+                }
+
+                if (this.IsFangyueFreshaAirPanel() == false)
+                {
+                    //娣诲姞銆愬姛鑳借缃�戣
+                    this.AddFunctionSettionRow();
+                }
+
                 //娣诲姞銆愬共鎺ョ偣璁剧疆銆戣
                 this.AddDryContactSettionRow();
             }
@@ -286,7 +307,7 @@
                          };
                          actionNone = () =>
                          {
-                             Shared.Phone.UserCenter.DoorLock.DoorLockCommonLayout.SecurityRequest(doorLock, action);
+                             Shared.Phone.UserCenter.DoorLock.DoorLockCommonLayout.SecurityRequest(doorLock);
                          };
                          HdlCheckLogic.Current.CheckSecondarySecurity(action, actionNone);
                      }
@@ -307,7 +328,7 @@
                              };
                              actionNone = () =>
                              {
-                                 Shared.Phone.UserCenter.DoorLock.DoorLockCommonLayout.SecurityRequest(doorLock, action);
+                                 Shared.Phone.UserCenter.DoorLock.DoorLockCommonLayout.SecurityRequest(doorLock);
                              };
                              HdlCheckLogic.Current.CheckSecondarySecurity(action, actionNone);
 
@@ -452,7 +473,7 @@
         #region 鈻� 鎸夐敭璁剧疆(闈㈡澘)_____________________
 
         /// <summary>
-        /// 娣诲姞銆愭寜閿缃�戣
+        /// 娣诲姞銆愭寜閿缃�戣(闈㈡澘)
         /// </summary>
         private void AddPanelSettionRow()
         {
@@ -475,6 +496,74 @@
                 var form = new DevicePanel.PanelButtonSettionForm();
                 form.AddForm(listNewDevice[0]);
             };
+        }
+
+        #endregion
+
+        #region 鈻� 鎸夐敭璁剧疆(鏂规偊)_____________________
+
+        /// <summary>
+        /// 娣诲姞銆愭寜閿缃�戣(鏂规偊)
+        /// </summary>
+        private bool AddFangyuePanelSettionRow()
+        {
+            if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueTwo
+                || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFour
+                || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEight
+                || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment
+                || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir)
+            {
+                //鎸夐敭璁剧疆
+                string caption = Language.StringByID(R.MyInternationalizationString.uPanelSettion);
+                var btnFunction = new FrameRowControl(listview.rowSpace / 2);
+                listview.AddChidren(btnFunction);
+                btnFunction.AddLeftCaption(caption, 600);
+                //鍚戝彸鍥炬爣
+                btnFunction.AddRightArrow();
+                //搴曠嚎
+                btnFunction.AddBottomLine();
+                btnFunction.ButtonClickEvent += (sender, e) =>
+                {
+                    if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueTwo
+                    || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFour
+                    || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEight)
+                    {
+                        //鏂规偊鎸夐敭闈㈡澘[鍗曞紑鍙屾帶/鍙屽紑鍥涙帶/鍥涘紑鍏帶]閰嶇疆
+                        var form = new DevicePanel.PanelFangyueButtonSettionForm();
+                        form.AddForm(listNewDevice[0]);
+                    }
+                    else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment)
+                    {
+                        //鏂规偊鐜闈㈡澘鐨勬寜閿厤缃�
+                        var form = new DevicePanel.PanelFangyueEnvironmentButtonSettionForm();
+                        form.AddForm(listNewDevice[0]);
+                    }
+                    else
+                    {
+                        //鏂规偊鏂伴闈㈡澘鐨勬寜閿厤缃�
+                        var form = new DevicePanel.PanelFangyueFreshAirButtonSettionForm();
+                        form.AddForm(listNewDevice[0]);
+                    }
+                };
+                return true;
+            }
+            return false;
+        }
+
+        #endregion
+
+        #region 鈻� 鎸夐敭璁剧疆(鏂规偊)_____________________
+
+        /// <summary>
+        /// 鏄惁鏄柟鎮︽柊椋庨潰鏉�
+        /// </summary>
+        private bool IsFangyueFreshaAirPanel()
+        {
+            if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir)
+            {
+                return true;
+            }
+            return false;
         }
 
         #endregion
@@ -587,6 +676,27 @@
             {
                 return;
             }
+            if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment
+                || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir)
+            {
+                //鐜闈㈡澘娌℃湁鍔熻兘璁剧疆
+                return;
+            }
+
+            //2020.03.06鏂拌拷鍔狅細濡傛灉鍏ㄩ儴閮芥槸骞叉帴鐐圭殑璇�,涔熶笉鑳芥湁杩欎釜涓滆タ
+            int dryContactCount = 0;
+            for (int i = 0; i < listNewDevice.Count; i++)
+            {
+                if (listNewDevice[i].Type == DeviceType.OnOffSwitch)
+                {
+                    dryContactCount++;
+                }
+            }
+            if (listNewDevice.Count == dryContactCount)
+            {
+                //杩欎釜璁惧鍏ㄦ槸骞叉帴鐐�
+                return;
+            }
 
             //鍔熻兘璁剧疆
             string caption = Language.StringByID(R.MyInternationalizationString.uFunctionSettingUp);
@@ -599,8 +709,16 @@
             btnFunction.AddBottomLine();
             btnFunction.ButtonClickEvent += (sender, e) =>
             {
+                //鏂规偊闈㈡澘
+                if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueTwo
+                    || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFour
+                    || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEight)
+                {
+                    var form = new DevicePanel.PanelFangyueFunctionSettionForm();
+                    form.AddForm(listNewDevice[0]);
+                }
                 //娌充笢鐨勯潰鏉胯澶�
-                if (deviceEnumInfo.BeloneType == DeviceBeloneType.A鎸夐敭闈㈡澘 && deviceEnumInfo.IsHdlDevice == true)
+                else if (deviceEnumInfo.BeloneType == DeviceBeloneType.A鎸夐敭闈㈡澘 && deviceEnumInfo.IsHdlDevice == true)
                 {
                     var form = new DevicePanel.PanelFunctionSettionForm();
                     form.AddForm(listNewDevice[0]);
@@ -690,10 +808,11 @@
             btnSwitch.ButtonClickEvent += async (sender, e) =>
             {
                 //鍒囨崲妯″紡
-                var result = await HdlDeviceCurtainLogic.Current.SetHandPullControl(deviceCurtain, !btnSwitch.IsSelected);
+                bool statu = !btnSwitch.IsSelected;
+                var result = await HdlDeviceCurtainLogic.Current.SetHandPullControl(deviceCurtain, statu);
                 if (result == true)
                 {
-                    btnSwitch.IsSelected = !btnSwitch.IsSelected;
+                    btnSwitch.IsSelected = statu;
                 }
             };
 
@@ -1069,18 +1188,8 @@
         {
             //妫�娴嬫鍥炶矾鏄惁鎷ユ湁瀹氫綅鍔熻兘(鎷跨鐐规渶灏忕殑閭d釜鍥炶矾鍘诲畾浣�)
             bool canTest = Common.LocalDevice.Current.DeviceIsCanFixedPosition(listNewDevice[0]);
-            if (this.deviceEnumInfo.BeloneType == DeviceBeloneType.A鏅鸿兘闂ㄩ攣)
-            {
-                canTest = false;
-            }
-            else if (this.deviceEnumInfo.BeloneType == DeviceBeloneType.A浼犳劅鍣�
-                && this.deviceEnumInfo.ConcreteType != DeviceConcreteType.Sensor_Pir)
-            {
-                //浼犳劅鍣ㄩ櫎浜哖ir閮芥病鏈夊畾浣嶅姛鑳�
-                canTest = false;
-            }
+            
             var frame = new TopRightMenuControl(canTest == true ? 2 : 1, 1);
-
             string deviceMenu = string.Empty;
             if (canTest == true)
             {

--
Gitblit v1.8.0