From a4924de3136289d10cabbf2f61a228387d44ded7 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期四, 07 十一月 2019 13:48:36 +0800
Subject: [PATCH] Merge branch 'dev-tzy' into DEV_GXC

---
 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs |  282 ++++++++-----------------------------------------------
 1 files changed, 44 insertions(+), 238 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
index d2b5697..bb6c2c6 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
@@ -42,15 +42,6 @@
         public void ShowForm(string deviceMac)
         {
             this.listNewDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceMac);
-            //鎺掑簭
-            this.listNewDevice.Sort((obj1, obj2) =>
-            {
-                if (obj1.DeviceEpoint > obj2.DeviceEpoint)
-                {
-                    return 1;
-                }
-                return -1;
-            });
 
             this.listDeviceType.Clear();
             foreach (var device in listNewDevice)
@@ -87,11 +78,11 @@
             this.listview = tableContr.InitControl(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.uInfoEditor), 369, 1368);
 
             //鍥剧墖
-            var btnPic = new DeviceInfoIconControl();
+            var btnPic = new DeviceInfoIconControl(listNewDevice[0]);
             btnPic.Y = Application.GetRealHeight(92);
             btnPic.Gravity = Gravity.CenterHorizontal;
             bodyFrameLayout.AddChidren(btnPic);
-            btnPic.InitControl(listNewDevice[0]);
+            btnPic.InitControl();
 
             //璁惧澶囨敞
             string caption = Language.StringByID(R.MyInternationalizationString.uDeviceNote);
@@ -104,14 +95,14 @@
             btnNote.txtInput.FinishInputEvent += () =>
             {
                 string oldName = Common.LocalDevice.Current.GetDeviceMacName(listNewDevice[0]);
-                if (btnNote.Text.Trim() == string.Empty)
+                if (btnNote.Text == string.Empty)
                 {
                     btnNote.Text = oldName;
                 }
-                if (oldName != btnNote.Text.Trim())
+                if (oldName != btnNote.Text)
                 {
                     //淇敼鍚嶅瓧
-                    this.DeviceReName(btnNote.Text.Trim(), false);
+                    this.DeviceReName(btnNote.Text, false);
                 }
             };
 
@@ -137,9 +128,6 @@
             {
                 foreach (var device in this.listNewDevice)
                 {
-                    //淇濆瓨杩欎釜璁惧灞炰簬鍝釜鍖哄煙
-                    device.DeviceRoomId = roomKeys;
-                    device.ReSave();
                     var room = Room.CurrentRoom.GetRoomByDevice(device);
                     string mainKeys = LocalDevice.Current.GetDeviceMainKeys(device);
                     if (room == null)
@@ -154,6 +142,8 @@
                         Room.CurrentRoom.ChangedRoom(device, roomKeys);
                     }
                 }
+                //淇濆瓨璁惧鎴块棿绱㈠紩
+                Common.LocalDevice.Current.SaveRealDeviceRoomId(this.listNewDevice, roomKeys);
             };
 
             //娣诲姞鍏ㄩ儴鑿滃崟
@@ -210,19 +200,8 @@
                     this.AddDoorLocksTimeRow();
                 }
             }
-            else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.AirConditioner_ZbGateway)
-            {
-                //娣诲姞銆愬鍐呮満璁剧疆銆戣(绌鸿皟涓撶敤)
-                this.AddIndoorUnitSettionRow();
-            }
             else
             {
-                //娣诲姞銆愮粦瀹氱洰鏍囥�戣(pir浼犳劅鍣ㄤ笓鐢�)
-                this.AddPirSensorBindRow();
-                //娣诲姞銆愭柟鍚戜笌闄愪綅銆戣(寮�鍚堝笜,鍗峰笜涓撶敤)
-                this.AddDirectionAndLimitRow();
-                //娣诲姞銆愭墜鎷夋帶鍒躲�戣(寮�鍚堝笜涓撶敤)
-                this.AddHandPullControlRow();
                 //娣诲姞銆愭寜閿缃�戣(闈㈡澘涓撶敤)
                 this.AddPanelSettionRow();
                 //娣诲姞銆愬姛鑳借缃�戣
@@ -336,13 +315,8 @@
                 btnRow.AddRightArrow();
                 //搴曠嚎
                 btnRow.AddBottomLine();
-                var doorLock = this.listNewDevice[0] as ZigBee.Device.DoorLock;
                 btnRow.ButtonClickEvent += (sender, e) =>
                 {
-                    var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "DoorLockTime");
-                    Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage);
-                    Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
-                    tempPage.Show();
                 };
             }
         }
@@ -373,11 +347,45 @@
             btnFunction.ButtonClickEvent += (sender, e) =>
             {
                 var form = new DevicePanel.PanelButtonSettionForm();
-                form.AddForm(listNewDevice[0]);
+                form.AddForm(listNewDevice[0].DeviceAddr);
             };
         }
 
         #endregion
+
+        #region 鈻� 鍔熻兘璁剧疆(閫氱敤)_____________________
+
+        /// <summary>
+        /// 娣诲姞銆愬姛鑳借缃�戣
+        /// </summary>
+        private void AddFunctionSettionRow()
+        {
+            //鍔熻兘璁剧疆
+            string caption = Language.StringByID(R.MyInternationalizationString.uFunctionSettingUp);
+            var btnFunction = new FrameRowControl(listview.rowSpace / 2);
+            listview.AddChidren(btnFunction);
+            btnFunction.AddLeftCaption(caption, 600);
+            //鍚戝彸鍥炬爣
+            btnFunction.AddRightArrow();
+            //搴曠嚎
+            btnFunction.AddBottomLine();
+            btnFunction.ButtonClickEvent += (sender, e) =>
+            {
+                //娌充笢鐨勯潰鏉胯澶�
+                if (deviceEnumInfo.BeloneType == DeviceBeloneType.A鎸夐敭闈㈡澘 && deviceEnumInfo.IsHdlDevice == true)
+                {
+                    var form = new DevicePanel.PanelFunctionSettionForm();
+                    form.AddForm(listNewDevice[0].DeviceAddr);
+                }
+                else
+                {
+                    var form = new DeviceRelay.DeviceFunctionSettionForm();
+                    form.AddForm(listNewDevice[0].DeviceAddr);
+                }
+            };
+        }
+
+        #endregion;
 
         #region 鈻� 骞叉帴鐐硅缃�(骞叉帴鐐�)_________________
 
@@ -409,208 +417,7 @@
             btnBackLight.AddBottomLine();
             btnBackLight.ButtonClickEvent += (sender, e) =>
             {
-                var form = new DeviceDryContactSettionForm();
-                form.AddForm(listNewDevice[0]);
-            };
-        }
-
-        #endregion
-
-        #region 鈻� 缁戝畾鐩爣(pir浼犳劅鍣ㄤ笓鐢�)____________
-
-        /// <summary>
-        /// 娣诲姞銆愮粦瀹氱洰鏍囥�戣(pir浼犳劅鍣ㄤ笓鐢�)
-        /// </summary>
-        private void AddPirSensorBindRow()
-        {
-            if (this.deviceEnumInfo.ConcreteType != DeviceConcreteType.Sensor_Pir)
-            {
-                return;
-            }
-            //缁戝畾鐩爣
-            string caption = Language.StringByID(R.MyInternationalizationString.uBindTargets);
-            var btnFunction = new FrameRowControl(listview.rowSpace / 2);
-            listview.AddChidren(btnFunction);
-            btnFunction.AddLeftCaption(caption, 600);
-            //鍚戝彸鍥炬爣
-            btnFunction.AddRightArrow();
-            //搴曠嚎
-            btnFunction.AddBottomLine();
-            btnFunction.ButtonClickEvent += (sender, e) =>
-            {
-                var form = new DevicePirSensor.PirSensorBindTargetSettionForm();
-                form.AddForm((IASZone)this.listNewDevice[0]);
-            };
-        }
-
-        #endregion;
-
-        #region 鈻� 鍔熻兘璁剧疆(閫氱敤)_____________________
-
-        /// <summary>
-        /// 娣诲姞銆愬姛鑳借缃�戣
-        /// </summary>
-        private void AddFunctionSettionRow()
-        {
-            //鍔熻兘璁剧疆
-            string caption = Language.StringByID(R.MyInternationalizationString.uFunctionSettingUp);
-            var btnFunction = new FrameRowControl(listview.rowSpace / 2);
-            listview.AddChidren(btnFunction);
-            btnFunction.AddLeftCaption(caption, 600);
-            //鍚戝彸鍥炬爣
-            btnFunction.AddRightArrow();
-            //搴曠嚎
-            btnFunction.AddBottomLine();
-            btnFunction.ButtonClickEvent += (sender, e) =>
-            {
-                //娌充笢鐨勯潰鏉胯澶�
-                if (deviceEnumInfo.BeloneType == DeviceBeloneType.A鎸夐敭闈㈡澘 && deviceEnumInfo.IsHdlDevice == true)
-                {
-                    var form = new DevicePanel.PanelFunctionSettionForm();
-                    form.AddForm(listNewDevice[0]);
-                }
-                else
-                {
-                    var form = new DeviceFunctionSettionForm();
-                    form.AddForm(listNewDevice[0], false);
-                }
-            };
-        }
-
-        #endregion;
-
-        #region 鈻� 鏂瑰悜涓庨檺浣�(绐楀笜)___________________
-
-        /// <summary>
-        /// 娣诲姞銆愭柟鍚戜笌闄愪綅銆戣(绐楀笜涓撶敤)
-        /// </summary>
-        private void AddDirectionAndLimitRow()
-        {
-            if (deviceEnumInfo.BeloneType != DeviceBeloneType.A绐楀笜)
-            {
-                return;
-            }
-            var deviceCurtain = (Rollershade)this.listNewDevice[0];
-            if (deviceCurtain.WcdType != 4 && deviceCurtain.WcdType != 0)
-            {
-                //寮�鍚堝笜,鍗峰笜涓撶敤
-                return;
-            }
-
-            //鏂瑰悜涓庨檺浣�
-            string caption = Language.StringByID(R.MyInternationalizationString.uDirectionAndLimit);
-            var btnFunction = new FrameRowControl(listview.rowSpace / 2);
-            listview.AddChidren(btnFunction);
-            btnFunction.AddLeftCaption(caption, 600);
-            //鍚戝彸鍥炬爣
-            btnFunction.AddRightArrow();
-            //搴曠嚎
-            btnFunction.AddBottomLine();
-            btnFunction.ButtonClickEvent += (sender, e) =>
-            {
-                if (deviceCurtain.WcdType == 4)
-                {
-                    var form = new DeviceCurtain.AutoOpenDirectionAndLimitSettionForm();
-                    form.AddForm(deviceCurtain);
-                }
-                else if (deviceCurtain.WcdType == 0)
-                {
-                    var form = new DeviceCurtain.SiphonateDirectionAndLimitSettionForm();
-                    form.AddForm(deviceCurtain);
-                }
-            };
-        }
-
-        #endregion;
-
-        #region 鈻� 鎵嬫媺鎺у埗(寮�鍚堝笜)___________________
-
-        /// <summary>
-        /// 娣诲姞銆愭墜鎷夋帶鍒躲�戣(寮�鍚堝笜涓撶敤)
-        /// </summary>
-        private void AddHandPullControlRow()
-        {
-            if (deviceEnumInfo.BeloneType != DeviceBeloneType.A绐楀笜)
-            {
-                return;
-            }
-            var deviceCurtain = (Rollershade)this.listNewDevice[0];
-            if (deviceCurtain.WcdType != 4)
-            {
-                //寮�鍚堝笜涓撶敤
-                return;
-            }
-
-            //鎵嬫媺鎺у埗
-            string caption = Language.StringByID(R.MyInternationalizationString.uHandPullControl);
-            var btnFunction = new FrameRowControl(listview.rowSpace / 2);
-            btnFunction.UseClickStatu = false;
-            listview.AddChidren(btnFunction);
-            btnFunction.AddLeftCaption(caption, 600);
-            //寮�鍏冲浘鏍�
-            var btnSwitch = btnFunction.AddMostRightSwitchIcon();
-            //搴曠嚎
-            btnFunction.AddBottomLine();
-            btnSwitch.ButtonClickEvent += async (sender, e) =>
-            {
-                //鍒囨崲妯″紡
-                var result = await HdlDeviceCurtainLogic.Current.SetHandPullControl(deviceCurtain, !btnSwitch.IsSelected);
-                if (result == true)
-                {
-                    btnSwitch.IsSelected = !btnSwitch.IsSelected;
-                }
-            };
-
-            //娣诲姞灞炴�т笂鎶ョ洃鍚�
-            string mainkeys = LocalDevice.Current.GetDeviceMainKeys(this.listNewDevice[0]);
-            HdlDeviceAttributeLogic.Current.AddAttributeEvent("HandPullControl", "DeviceStatusReport", (device) =>
-            {
-                string checkKey = LocalDevice.Current.GetDeviceMainKeys(device);
-                if (mainkeys != checkKey || device.DeviceStatusReport.CluterID != 258)
-                {
-                    return;
-                }
-                foreach (var attriBute in device.DeviceStatusReport.AttriBute)
-                {
-                    if (attriBute.AttributeId == 23)
-                    {
-                        //鎵嬫媺鎺у埗
-                        if (0 < (attriBute.AttriButeData & 0x04))
-                        {
-                            btnSwitch.IsSelected = true;
-                        }
-                    }
-                }
-            });
-            //鍙戦�佸懡浠�
-            deviceCurtain.ReadCurtainDirectionAndMode();
-        }
-
-        #endregion;
-
-        #region 鈻� 瀹ゅ唴鏈鸿缃�(绌鸿皟)___________________
-
-        /// <summary>
-        /// 娣诲姞銆愬鍐呮満璁剧疆銆戣(绌鸿皟涓撶敤)
-        /// </summary>
-        private void AddIndoorUnitSettionRow()
-        {
-            if (this.deviceEnumInfo.ConcreteType != DeviceConcreteType.AirConditioner_ZbGateway)
-            {
-                return;
-            }
-            //瀹ゅ唴鏈鸿缃�
-            string caption = Language.StringByID(R.MyInternationalizationString.uIndoorUnitSettion);
-            var btnFunction = new FrameRowControl(listview.rowSpace / 2);
-            listview.AddChidren(btnFunction);
-            btnFunction.AddLeftCaption(caption, 600);
-            //鍚戝彸鍥炬爣
-            btnFunction.AddRightArrow();
-            //搴曠嚎
-            btnFunction.AddBottomLine();
-            btnFunction.ButtonClickEvent += (sender, e) =>
-            {
-                var form = new DeviceAirConditioner.IndoorUnitListForm();
+                var form = new DeviceRelay.DeviceDryContactSettionForm();
                 form.AddForm(listNewDevice[0].DeviceAddr);
             };
         }
@@ -801,7 +608,7 @@
             {
                 menuCount = 2;
             }
-            var frame = new TopRightMenuControl(menuCount);
+            var frame = new TopRightMenuControl(this, menuCount);
             if (canTest == true)
             {
                 //瀹氫綅
@@ -860,7 +667,6 @@
         /// </summary>
         public override void CloseForm()
         {
-            HdlDeviceAttributeLogic.Current.RemoveEvent("HandPullControl");
             //绉婚櫎鑾峰彇璁惧纭欢淇℃伅鐨勭洃鍚嚎绋�
             HdlDeviceHardInfoLogic.Current.RemoveDeviceHardInfoThread(listNewDevice[0]);
 

--
Gitblit v1.8.0