From 3dcbd186c42c598c0c08d1cd37034cf2baa09e54 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 30 十二月 2019 15:47:51 +0800
Subject: [PATCH] 合并了代码

---
 ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs |  269 +++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 185 insertions(+), 84 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs
index 74ba416..117357f 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs
@@ -94,23 +94,13 @@
                 //鍏抽棴鍒锋柊View锛�
                 middle.EndHeaderRefreshing();
             };
-            //Read();
-            CommonPage.Loading.Start();
-            new System.Threading.Thread(() =>
-            {
-                Application.RunOnMainThread(() =>
-                {
-                    Read();
-                    CommonPage.Loading.Hide();
-                });
-            })
-            { IsBackground = true }.Start();
+            Read();
 
         }
         /// <summary>
         /// 璇诲彇褰撳墠闂ㄩ攣鐨勪簯绔暟鎹紱
         /// </summary>
-        public async void Read()
+        public void Read()
         {
             bool d = false;
             string macport = Send.CurrentDoorLock.DeviceAddr + "_" + Send.CurrentDoorLock.DeviceEpoint.ToString();
@@ -124,13 +114,27 @@
                 }
             }
             CommonPage.Loading.Start();
-            if (!d)
+            middle.RemoveAll();
+            System.Threading.Tasks.Task.Run(async () =>
             {
-                var allMemberslist = await Send.AllMembers(macport);
-                Send.LockList.AddRange(allMemberslist);
-            }
-            UserAllView(macport);
-            CommonPage.Loading.Hide();
+                try
+                {
+                    if (!d)
+                    {
+                        var allMemberslist = await Send.AllMembers(macport);
+                        Send.LockList.AddRange(allMemberslist);
+                    }
+                }
+                catch { }
+                finally
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        CommonPage.Loading.Hide();
+                        UserAllView(macport);
+                    });
+                }
+            });
         }
         /// <summary>
         /// 鏄剧ず鎵�鏈夌敤鎴�
@@ -276,86 +280,183 @@
             };
             lockRow.AddChidren(Btncomplete);
             #endregion
-
+            bool @false = false;
+            if (membershipIfon.UserIdMode.Count > 10)
+            {
+                @false = false;//
+                lockcolorfra1.Y = Application.GetRealHeight(1920 - 140 - (160 * 10) - 20 - 50);
+                lockcolorfra1.Height = Application.GetRealHeight(140 + (160 * 10) + 20 + 50);
+            }
+            else
+            {
+                @false = false;
+                lockcolorfra1.Y = Application.GetRealHeight(1920 - 140 - (160 * membershipIfon.UserIdMode.Count) - 20 - 50);
+                lockcolorfra1.Height = Application.GetRealHeight(140 + (160 * membershipIfon.UserIdMode.Count) + 20 + 50);
+            }
             string SelectedLockStatus = "";
-            lockcolorfra1.Y = Application.GetRealHeight(1920 - 140 - (160 * membershipIfon.UserIdMode.Count) - 20 - 50);
-            lockcolorfra1.Height = Application.GetRealHeight(140 + (160 * membershipIfon.UserIdMode.Count) + 20 + 50);
             ///瀹氫箟涓や釜鍙橀噺璁板綍閫変腑鐘舵�侊紱
             string attriButeId = "";
             string attriButeData2 = "";
             string modeName = "";
-            for (int j = 0; j < membershipIfon.UserIdMode.Count; j++)
+            if (!@false)
             {
-                var userIdmode = membershipIfon.UserIdMode[j];
-                var doorlockfra = new FrameLayout
+                for (int j = 0; j < membershipIfon.UserIdMode.Count; j++)
                 {
-                    Height = Application.GetRealHeight(160),
-                    Y = lockRow.Bottom + Application.GetRealHeight(20 + 160 * j),
-                };
-                lockcolorfra1.AddChidren(doorlockfra);
-
-                var doorlockRow = new RowLayout
-                {
-                    Y = Application.GetRealHeight(30),
-                    Width = Application.GetRealWidth(920),
-                    Height = Application.GetRealHeight(130),
-                    X = Application.GetRealWidth(80),
-                    LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
-                };
-                doorlockfra.AddChidren(doorlockRow);
-
-                var doorlockBtn = new Button
-                {
-                    Width = Application.GetRealWidth(600),
-                    TextAlignment = TextAlignment.CenterLeft,
-                    TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
-                    Text = userIdmode.ModeName,
-                    TextSize = 14,
-                };
-                doorlockRow.AddChidren(doorlockBtn);
-
-                var doorlockSelected = new Button
-                {
-                    X = Application.GetRealWidth(860),
-                    Width = Application.GetMinRealAverage(60),
-                    Height = Application.GetMinRealAverage(60),
-                    UnSelectedImagePath = "ZigeeLogic/selected.png",
-                    Visible = false,
-                    Gravity = Gravity.CenterVertical,
-
-                };
-                doorlockRow.AddChidren(doorlockSelected);
-                if ((membershipIfon.UserIdMode.Count - 1) == j)
-                {
-                    doorlockRow.LineColor = ZigbeeColor.Current.LogicBackgroundColor;
-                }
-                EventHandler<MouseEventArgs> doorlockclick = (sender2, e2) =>
-                {
-                    SelectedLockStatus = "DoorLock";
-                    selectedIcon.Visible = false;
-                    selectedIcon = doorlockSelected;
-                    doorlockSelected.Visible = true;
-                    //doorlockBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
-                    attriButeId = userIdmode.OpenMode.ToString();
-                    attriButeData2 = userIdmode.UserId;
-                    modeName = userIdmode.ModeName;
-                };
-                doorlockRow.MouseUpEventHandler += doorlockclick;
-                doorlockBtn.MouseUpEventHandler += doorlockclick;
-                doorlockSelected.MouseUpEventHandler += doorlockclick;
-                doorlockfra.MouseUpEventHandler += doorlockclick;
-                ///鏄剧ず涔嬪墠鐨勭姸鎬�
-                if (conditionsIndex != -1)
-                {
-                    var s = Common.Logic.CurrentLogic.Conditions[conditionsIndex];
-                    if (s["AttriButeId"] == userIdmode.OpenMode.ToString() && s["AttriButeData2"] == userIdmode.UserId)
+                    var userIdmode = membershipIfon.UserIdMode[j];
+                    var doorlockfra = new FrameLayout
                     {
+                        Height = Application.GetRealHeight(160),
+                        Y = lockRow.Bottom + Application.GetRealHeight(20 + 160 * j),
+                    };
+                    lockcolorfra1.AddChidren(doorlockfra);
+
+                    var doorlockRow = new RowLayout
+                    {
+                        Y = Application.GetRealHeight(30),
+                        Width = Application.GetRealWidth(920),
+                        Height = Application.GetRealHeight(130),
+                        X = Application.GetRealWidth(80),
+                        LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
+                    };
+                    doorlockfra.AddChidren(doorlockRow);
+
+                    var doorlockBtn = new Button
+                    {
+                        Width = Application.GetRealWidth(600),
+                        TextAlignment = TextAlignment.CenterLeft,
+                        TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
+                        Text = userIdmode.ModeName,
+                        TextSize = 14,
+                    };
+                    doorlockRow.AddChidren(doorlockBtn);
+
+                    var doorlockSelected = new Button
+                    {
+                        X = Application.GetRealWidth(860),
+                        Width = Application.GetMinRealAverage(60),
+                        Height = Application.GetMinRealAverage(60),
+                        UnSelectedImagePath = "ZigeeLogic/selected.png",
+                        Visible = false,
+                        Gravity = Gravity.CenterVertical,
+
+                    };
+                    doorlockRow.AddChidren(doorlockSelected);
+                    if ((membershipIfon.UserIdMode.Count - 1) == j)
+                    {
+                        doorlockRow.LineColor = ZigbeeColor.Current.LogicBackgroundColor;
+                    }
+                    EventHandler<MouseEventArgs> doorlockclick = (sender2, e2) =>
+                    {
+                        SelectedLockStatus = "DoorLock";
                         selectedIcon.Visible = false;
                         selectedIcon = doorlockSelected;
                         doorlockSelected.Visible = true;
+                    //doorlockBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
+                    attriButeId = userIdmode.OpenMode.ToString();
+                        attriButeData2 = userIdmode.UserId;
+                        modeName = userIdmode.ModeName;
+                    };
+                    doorlockRow.MouseUpEventHandler += doorlockclick;
+                    doorlockBtn.MouseUpEventHandler += doorlockclick;
+                    doorlockSelected.MouseUpEventHandler += doorlockclick;
+                    doorlockfra.MouseUpEventHandler += doorlockclick;
+                    ///鏄剧ず涔嬪墠鐨勭姸鎬�
+                    if (conditionsIndex != -1)
+                    {
+                        var s = Common.Logic.CurrentLogic.Conditions[conditionsIndex];
+                        if (s["AttriButeId"] == userIdmode.OpenMode.ToString() && s["AttriButeData2"] == userIdmode.UserId)
+                        {
+                            selectedIcon.Visible = false;
+                            selectedIcon = doorlockSelected;
+                            doorlockSelected.Visible = true;
+                        }
+
+
                     }
+                }
+            }
+            else
+            {
+                for (int j = 0; j < membershipIfon.UserIdMode.Count; j++)
+                {
+                    var userIdmode = membershipIfon.UserIdMode[j];
+
+                    var vv = new VerticalScrolViewLayout
+                    {
+                        Height = Application.GetRealHeight(160 * 8),
+                        Y = lockRow.Bottom,
+                    };
+                    lockcolorfra1.AddChidren(vv);
+                    var doorlockfra = new FrameLayout
+                    {
+                        Height = Application.GetRealHeight(160),
+                        Y = Application.GetRealHeight(160 * j),
+                    };
+                    vv.AddChidren(doorlockfra);
+
+                    var doorlockRow = new RowLayout
+                    {
+                        Y = Application.GetRealHeight(30),
+                        Width = Application.GetRealWidth(920),
+                        Height = Application.GetRealHeight(130),
+                        X = Application.GetRealWidth(80),
+                        LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
+                    };
+                    doorlockfra.AddChidren(doorlockRow);
+
+                    var doorlockBtn = new Button
+                    {
+                        Width = Application.GetRealWidth(600),
+                        TextAlignment = TextAlignment.CenterLeft,
+                        TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
+                        Text = userIdmode.ModeName,
+                        TextSize = 14,
+                    };
+                    doorlockRow.AddChidren(doorlockBtn);
+
+                    var doorlockSelected = new Button
+                    {
+                        X = Application.GetRealWidth(860),
+                        Width = Application.GetMinRealAverage(60),
+                        Height = Application.GetMinRealAverage(60),
+                        UnSelectedImagePath = "ZigeeLogic/selected.png",
+                        Visible = false,
+                        Gravity = Gravity.CenterVertical,
+
+                    };
+                    doorlockRow.AddChidren(doorlockSelected);
+                    if ((membershipIfon.UserIdMode.Count - 1) == j)
+                    {
+                        doorlockRow.LineColor = ZigbeeColor.Current.LogicBackgroundColor;
+                    }
+                    EventHandler<MouseEventArgs> doorlockclick = (sender2, e2) =>
+                    {
+                        SelectedLockStatus = "DoorLock";
+                        selectedIcon.Visible = false;
+                        selectedIcon = doorlockSelected;
+                        doorlockSelected.Visible = true;
+                    //doorlockBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
+                    attriButeId = userIdmode.OpenMode.ToString();
+                        attriButeData2 = userIdmode.UserId;
+                        modeName = userIdmode.ModeName;
+                    };
+                    doorlockRow.MouseUpEventHandler += doorlockclick;
+                    doorlockBtn.MouseUpEventHandler += doorlockclick;
+                    doorlockSelected.MouseUpEventHandler += doorlockclick;
+                    doorlockfra.MouseUpEventHandler += doorlockclick;
+                    ///鏄剧ず涔嬪墠鐨勭姸鎬�
+                    if (conditionsIndex != -1)
+                    {
+                        var s = Common.Logic.CurrentLogic.Conditions[conditionsIndex];
+                        if (s["AttriButeId"] == userIdmode.OpenMode.ToString() && s["AttriButeData2"] == userIdmode.UserId)
+                        {
+                            selectedIcon.Visible = false;
+                            selectedIcon = doorlockSelected;
+                            doorlockSelected.Visible = true;
+                        }
 
 
+                    }
                 }
             }
 

--
Gitblit v1.8.0