From 163777d8a2cb7cfa469f54a7042528870ebc10a3 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 09 十二月 2019 17:46:20 +0800
Subject: [PATCH] 一个新版本

---
 ZigbeeApp/Shared/Phone/Device/Category/Category.cs |  196 ++++++++++++++++++++++++++----------------------
 1 files changed, 107 insertions(+), 89 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs
index 777c8a8..4aaf309 100755
--- a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs
@@ -7,6 +7,7 @@
 using Shared.Phone.Device.CommonForm;
 using Shared.Phone.Device.AC;
 using Shared.Phone.UserCenter.DoorLock;
+using Shared.Phone.Device.DeviceLogic;
 
 namespace Shared.Phone.Device.Category
 {
@@ -828,6 +829,7 @@
                     BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
                 };
                 functionSceneBodyView.AddChidren(functionTypeScrowView);
+                //functionSceneBodyView.SetCornerWithSameRadius(Application.GetRealHeight(50), HDLUtils.RectCornerBottomLeft);
 
                 deviceListScrolView = new VerticalScrolViewLayout
                 {
@@ -838,7 +840,10 @@
                     BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
                 };
                 functionSceneBodyView.AddChidren(deviceListScrolView);
+                //deviceListScrolView.SetCornerWithSameRadius(Application.GetRealHeight(50), HDLUtils.RectCornerTopLeft);
+
                 tempFunctionTypeBtn = new FunctionButton();
+                tempFunctionTypeBtn.Init("","");
 
                 EventHandler<MouseEventArgs> ShowSameTypeFunction = (object typeSender, MouseEventArgs mouseEventArgs) =>
                 {
@@ -907,8 +912,7 @@
                             {
                                 UserHomeView.ReadStatus(light, () =>
                                 {
-                                    light.ReadOnOffStatus();
-                                    light.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
+                                    ReadDeviceAttributeLogic.Instance.SendLightStatuComand(deviceUI.CommonDevice);
                                 });
                             }
                             else
@@ -916,8 +920,7 @@
                                 //闃叉鐭椂闂村唴澶氭璇诲彇鐘舵��
                                 if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - light.LastDateTime).TotalSeconds)
                                 {
-                                    light.ReadOnOffStatus();
-                                    light.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
+                                    ReadDeviceAttributeLogic.Instance.SendLightStatuComand(deviceUI.CommonDevice);
                                 }
                             }
 
@@ -1002,16 +1005,18 @@
                                 Tag = deviceUI,
                                 Radius = 0
                             };
-                            deviceTypeRowLayout.AddRightView(editBtn);
-                            editBtn.MouseUpEventHandler += deviceDetailHandler;
-
                             var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
                             {
                                 Tag = deviceUI,
                                 Radius = 0
                             };
-                            deviceTypeRowLayout.AddRightView(delBtn);
-                            delBtn.MouseUpEventHandler += delEvent;
+                            if (room.IsSharedRoom == false)
+                            {
+                                deviceTypeRowLayout.AddRightView(editBtn);
+                                editBtn.MouseUpEventHandler += deviceDetailHandler;
+                                deviceTypeRowLayout.AddRightView(delBtn);
+                                delBtn.MouseUpEventHandler += delEvent;
+                            }
                         }
                         else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.AirSwitch)
                         {
@@ -1026,16 +1031,14 @@
                             {
                                 UserHomeView.ReadStatus(airSwitch, () =>
                                 {
-                                    airSwitch.ReadOnOffStatus();
-                                    airSwitch.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
+                                    ReadDeviceAttributeLogic.Instance.SendLightStatuComand(deviceUI.CommonDevice);
                                 });
                             }
                             else
                             {
                                 if ((DateTime.Now - airSwitch.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
                                 {
-                                    airSwitch.ReadOnOffStatus();
-                                    airSwitch.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
+                                    ReadDeviceAttributeLogic.Instance.SendLightStatuComand(deviceUI.CommonDevice);
                                 }
                             }
 
@@ -1102,16 +1105,19 @@
                                 Tag = deviceUI,
                                 Radius = 0
                             };
-                            deviceTypeRowLayout.AddRightView(editBtn);
-                            editBtn.MouseUpEventHandler += deviceDetailHandler;
-
                             var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
                             {
                                 Tag = deviceUI,
                                 Radius = 0
                             };
-                            deviceTypeRowLayout.AddRightView(delBtn);
-                            delBtn.MouseUpEventHandler += delEvent;
+                            if (room.IsSharedRoom == false)
+                            {
+                                deviceTypeRowLayout.AddRightView(editBtn);
+                                editBtn.MouseUpEventHandler += deviceDetailHandler;
+                                deviceTypeRowLayout.AddRightView(delBtn);
+                                delBtn.MouseUpEventHandler += delEvent;
+                            }
+
                         }
                         else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.DimmableLight)
                         {
@@ -1126,18 +1132,14 @@
                             {
                                 UserHomeView.ReadStatus(dimmableLight, () =>
                                 {
-                                    dimmableLight.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
-                                    dimmableLight.ReadOnOffStatus();
-                                    dimmableLight.ReadLevel();
+                                    ReadDeviceAttributeLogic.Instance.SendDimmableLightStatuComand(deviceUI.CommonDevice);
                                 });
                             }
                             else
                             {
                                 if ((DateTime.Now - dimmableLight.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
                                 {
-                                    dimmableLight.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
-                                    dimmableLight.ReadOnOffStatus();
-                                    dimmableLight.ReadLevel();
+                                    ReadDeviceAttributeLogic.Instance.SendDimmableLightStatuComand(deviceUI.CommonDevice);
                                 }
                             }
 
@@ -1204,17 +1206,18 @@
                                 Tag = deviceUI,
                                 Radius = 0
                             };
-                            deviceTypeRowLayout.AddRightView(editBtn);
-                            editBtn.MouseUpEventHandler += deviceDetailHandler;
-
                             var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
                             {
                                 Tag = deviceUI,
                                 Radius = 0
                             };
-                            deviceTypeRowLayout.AddRightView(delBtn);
-                            delBtn.MouseUpEventHandler += delEvent;
-
+                            if (room.IsSharedRoom == false)
+                            {
+                                deviceTypeRowLayout.AddRightView(editBtn);
+                                editBtn.MouseUpEventHandler += deviceDetailHandler;
+                                deviceTypeRowLayout.AddRightView(delBtn);
+                                delBtn.MouseUpEventHandler += delEvent;
+                            }
                         }
                         else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.Thermostat)
                         {
@@ -1230,16 +1233,7 @@
                                 //鍙戦�佽鍙栫姸鎬佸懡浠�
                                 UserView.UserHomeView.ReadStatus(ac, () =>
                                 {
-                                    ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
-                                    ac.ReadLocalTemperature();
-                                    ac.ReadCoolingSetpoint();
-                                    ac.ReadHeatingSetpoint();
-                                    ac.ReadAutoSetpoint();
-                                    ac.ReadFanMode();
-                                    ac.ReadSystemMode();
-                                    ac.ReadSystemFansSwingMode();
-                                    ac.ReadModeSupport();
-                                    ac.ReadCleanStatu();
+                                    ReadDeviceAttributeLogic.Instance.SendACStatuComand(deviceUI.CommonDevice);
                                 });
                             }
                             else
@@ -1247,16 +1241,7 @@
                                 //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵��
                                 if ((DateTime.Now - ac.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
                                 {
-                                    ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
-                                    ac.ReadLocalTemperature();
-                                    ac.ReadCoolingSetpoint();
-                                    ac.ReadHeatingSetpoint();
-                                    ac.ReadAutoSetpoint();
-                                    ac.ReadFanMode();
-                                    ac.ReadSystemMode();
-                                    ac.ReadSystemFansSwingMode();
-                                    ac.ReadModeSupport();
-                                    ac.ReadCleanStatu();
+                                    ReadDeviceAttributeLogic.Instance.SendACStatuComand(deviceUI.CommonDevice);
                                 }
                             }
 
@@ -1313,16 +1298,18 @@
                                 Tag = deviceUI,
                                 Radius = 0
                             };
-                            deviceTypeRowLayout.AddRightView(editBtn);
-                            editBtn.MouseUpEventHandler += deviceDetailHandler;
-
                             var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
                             {
                                 Tag = deviceUI,
                                 Radius = 0
                             };
-                            deviceTypeRowLayout.AddRightView(delBtn);
-                            delBtn.MouseUpEventHandler += delEvent;
+                            if (room.IsSharedRoom == false)
+                            {
+                                deviceTypeRowLayout.AddRightView(editBtn);
+                                editBtn.MouseUpEventHandler += deviceDetailHandler;
+                                deviceTypeRowLayout.AddRightView(delBtn);
+                                delBtn.MouseUpEventHandler += delEvent;
+                            }
 
                             deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) =>
                             {
@@ -1347,8 +1334,7 @@
                             {
                                 UserHomeView.ReadStatus(rollerShade, () =>
                                 {
-                                    rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
-                                    rollerShade.ReadWcdCurrentPositionLiftPercentage();
+                                    ReadDeviceAttributeLogic.Instance.SendCurtainStatuComand(deviceUI.CommonDevice);
                                 });
                             }
                             else
@@ -1356,8 +1342,7 @@
                                 //闃叉鐭椂闂村唴澶氭璇诲彇
                                 if ((DateTime.Now - rollerShade.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
                                 {
-                                    rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
-                                    rollerShade.ReadWcdCurrentPositionLiftPercentage();
+                                    ReadDeviceAttributeLogic.Instance.SendCurtainStatuComand(deviceUI.CommonDevice);
                                 }
                             }
 
@@ -1400,16 +1385,18 @@
                                 Tag = deviceUI,
                                 Radius = 0
                             };
-                            deviceTypeRowLayout.AddRightView(editBtn);
-                            editBtn.MouseUpEventHandler += deviceDetailHandler;
-
                             var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
                             {
                                 Tag = deviceUI,
                                 Radius = 0
                             };
-                            deviceTypeRowLayout.AddRightView(delBtn);
-                            delBtn.MouseUpEventHandler += delEvent;
+                            if (room.IsSharedRoom == false)
+                            {
+                                deviceTypeRowLayout.AddRightView(editBtn);
+                                editBtn.MouseUpEventHandler += deviceDetailHandler;
+                                deviceTypeRowLayout.AddRightView(delBtn);
+                                delBtn.MouseUpEventHandler += delEvent;
+                            }
 
                             deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) =>
                             {
@@ -1452,15 +1439,17 @@
                             {
                                 Tag = deviceUI
                             };
-                            deviceTypeRowLayout.AddRightView(editBtn);
-                            editBtn.MouseUpEventHandler += deviceDetailHandler;
-
                             var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
                             {
                                 Tag = deviceUI
                             };
-                            deviceTypeRowLayout.AddRightView(delBtn);
-                            delBtn.MouseUpEventHandler += delEvent;
+                            if (room.IsSharedRoom == false)
+                            {
+                                deviceTypeRowLayout.AddRightView(editBtn);
+                                editBtn.MouseUpEventHandler += deviceDetailHandler;
+                                deviceTypeRowLayout.AddRightView(delBtn);
+                                delBtn.MouseUpEventHandler += delEvent;
+                            }
                         }
                         else
                         {
@@ -1484,15 +1473,17 @@
                             {
                                 Tag = deviceUI
                             };
-                            deviceTypeRowLayout.AddRightView(editBtn);
-                            editBtn.MouseUpEventHandler += deviceDetailHandler;
-
                             var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
                             {
                                 Tag = deviceUI
                             };
-                            deviceTypeRowLayout.AddRightView(delBtn);
-                            delBtn.MouseUpEventHandler += delEvent;
+                            if (room.IsSharedRoom == false)
+                            {
+                                deviceTypeRowLayout.AddRightView(editBtn);
+                                editBtn.MouseUpEventHandler += deviceDetailHandler;
+                                deviceTypeRowLayout.AddRightView(delBtn);
+                                delBtn.MouseUpEventHandler += delEvent;
+                            }
                         }
                     }
                 };
@@ -1644,7 +1635,6 @@
                     var sceneView = new SceneCategoryView(0, 0);
                     sceneScrolView.AddChidren(sceneView);
                     sceneView.Init(scene, room);
-                    sceneView.SetViewShadow(true);
                     GetDelayScene(sceneScrolView);
                 }
             }
@@ -1737,14 +1727,26 @@
             { IsBackground = true }.Start();
         }
 
+        /// <summary>
+        /// GetExecScene
+        /// </summary>
+        /// <param name="scrolViewLayout"></param>
+        private void GetExecScene(VerticalScrolViewLayout scrolViewLayout)
+        {
+            new System.Threading.Thread(() =>
+            {
+
+            })
+            { IsBackground = true }.Start();
+        }
         #endregion
 
         #region 鈼� 鑷姩鍖朹_________________________
-
+      
         /// <summary>
-        /// 鑷姩鍖�
+        /// 鑷姩鍖栧姛鑳戒唬鐮佸叆鍙�
         /// </summary>
-        private async void ShowAutotion()
+        private  void ShowAutotion()
         {
 
             functionSceneAutoBodyView.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor;
@@ -1758,7 +1760,7 @@
                 Y = Application.GetRealHeight(30),
             };
             functionSceneAutoBodyView.AddChidren(bjFrameLayout);
-            bjFrameLayout.SetCornerWithSameRadius(25, HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerBottomLeft);
+            bjFrameLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerBottomLeft);
             var sigBtn = new Button
             {
                 Width = Application.GetMinRealAverage(84),
@@ -1779,7 +1781,7 @@
                 TextID = MyInternationalizationString.logictemplate,
                 Gravity = Gravity.CenterVertical,
                 TextColor = ZigbeeColor.Current.LogicBtnSelectedColor,
-                TextSize=15,
+                TextSize = 15,
             };
             bjFrameLayout.AddChidren(recommendtextBtn);
 
@@ -1804,7 +1806,7 @@
             };
             functionSceneAutoBodyView.AddChidren(scenehorizontalScrol);
 
-            var logicScrolView = new VerticalScrolViewLayout
+            var logicScrolView = new VerticalRefreshLayout//VerticalScrolViewLayout
             {
                 Height = functionSceneAutoBodyView.Height - bjFrameLayout.Height - bjFrameLayout.Y - scenehorizontalScrol.Height - Application.GetRealHeight(30),
                 BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
@@ -1813,8 +1815,7 @@
                 Y = scenehorizontalScrol.Bottom,
             };
             functionSceneAutoBodyView.AddChidren(logicScrolView);
-            logicScrolView.SetCornerWithSameRadius(20, HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerBottomLeft);
-
+            logicScrolView.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft);
 
             recommendswitchBtn.MouseUpEventHandler += (sender, e) =>
             {
@@ -1905,14 +1906,31 @@
                 logicScrolView.Height = functionSceneAutoBodyView.Height - bjFrameLayout.Height - bjFrameLayout.Y - scenehorizontalScrol.Height - Application.GetRealHeight(30) - Yheight;
                 Automationview(logicScrolView);
             };
+            logicScrolView.BeginHeaderRefreshingAction += () =>
+            {
+                //閲嶆柊鍒锋柊logic鍒楄〃
+                Common.Logic.LogicList.Clear();
+                Read(logicScrolView);
+                //鍏抽棴鍒锋柊View锛�
+                logicScrolView.EndHeaderRefreshing();
+            };
+           
+            Read(logicScrolView);
 
+        }
+        /// <summary>
+        /// 璇诲彇鑷姩鍖栧垪琛ㄦ暟鎹紱
+        /// </summary>
+        /// <param name="logicScrolView"></param>
+        private async void Read(VerticalRefreshLayout logicScrolView)
+        {
             CommonPage.Loading.Start();
             if (Common.Logic.LogicList.Count == 0)
             {
                 var Idlist = await Logic.Send.GetLogicId(0);
                 if (Idlist.Count != 0)
                 {
-                    var listlogic = await Logic.Send.ReadList(Idlist.Count,0);
+                    var listlogic = await Logic.Send.ReadList(Idlist.Count, 0);
                     //foreach鍙兘闆嗗悎宸茶淇敼,鏋氫妇鎿嶄綔鍙兘涓嶄細鎵ц,鍙兘鍑虹幇宕╂簝(寤鸿for)銆�
                     for (int j = 0; j < listlogic.Count; j++)
                     {
@@ -1928,14 +1946,13 @@
             //鑷姩鍖�
             Automationview(logicScrolView);
             CommonPage.Loading.Hide();
-            
-        }
 
+        }
         /// <summary>
-        /// 鑷姩鍖栧垪琛ㄧ晫闈�
+        /// 鍔犺浇鑷姩鍖栧垪琛ㄧ晫闈�
         /// </summary>
         /// <param name="refresview">Refresview.</param>
-        private async void Automationview(VerticalScrolViewLayout refresview)
+        private async void Automationview(VerticalRefreshLayout refresview)
         {
             refresview.RemoveAll();
             foreach (var logic in Common.Logic.LogicList)
@@ -2064,7 +2081,7 @@
 
         }
         /// <summary>
-        /// 鏄剧ず鍥炬爣鐨勯鑹�
+        /// 鏄剧ず鑷姩鍖栬緭鍑哄姛鑳芥ā鍧楀浘鏍囩殑棰滆壊
         /// </summary>
         /// <param name="logic"></param>
         /// <param name="logicRowlayout"></param>
@@ -2463,6 +2480,7 @@
                 }
             }
         }
+
         #endregion
 
         #region 鈼� 鎺у埗鐘舵�乢________________________

--
Gitblit v1.8.0