From b74c052b43d7c4a830386940a036eb7c2ec9abc2 Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期二, 14 一月 2020 13:37:26 +0800
Subject: [PATCH] 2020-1-14-01

---
 ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs |   89 +++++++++++++++++++++++++++++++-------------
 1 files changed, 63 insertions(+), 26 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs
index 570e43d..6941358 100644
--- 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(Send.CurrentDoorLock.DeviceAddr);
-                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>
         /// 鏄剧ず鎵�鏈夌敤鎴�
@@ -277,13 +281,21 @@
             lockRow.AddChidren(Btncomplete);
             #endregion
 
-            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);
+            if (membershipIfon.UserIdMode.Count > 9)
+            {
+                ///鍏冪礌瓒呭嚭10涓紝鏆傛椂榛樿鏄剧ず10;
+                lockcolorfra1.Y = Application.GetRealHeight(1920 - 140 - (160 * 9) - 20 - 50);
+                lockcolorfra1.Height = Application.GetRealHeight(140 + (160 * 9) + 20 + 50);
+            }
+            string SelectedLockStatus = "";
             ///瀹氫箟涓や釜鍙橀噺璁板綍閫変腑鐘舵�侊紱
             string attriButeId = "";
             string attriButeData2 = "";
             string modeName = "";
+
             for (int j = 0; j < membershipIfon.UserIdMode.Count; j++)
             {
                 var userIdmode = membershipIfon.UserIdMode[j];
@@ -313,6 +325,29 @@
                     TextSize = 14,
                 };
                 doorlockRow.AddChidren(doorlockBtn);
+                if (string.IsNullOrEmpty(doorlockBtn.Text))
+                {
+                    string strname = "";
+                    switch (userIdmode.OpenMode)
+                    {
+                        case 0:
+                            {
+                                strname = Language.StringByID(MyInternationalizationString.lockpassword);
+                            }
+                            break;
+                        case 3:
+                            {
+                                strname = Language.StringByID(MyInternationalizationString.ic);
+                            }
+                            break;
+                        case 15:
+                            {
+                                strname = Language.StringByID(MyInternationalizationString.fingerprint);
+                            }
+                            break;
+                    }
+                    doorlockBtn.Text = strname + "ID" + userIdmode.UserId;
+                }
 
                 var doorlockSelected = new Button
                 {
@@ -335,10 +370,10 @@
                     selectedIcon.Visible = false;
                     selectedIcon = doorlockSelected;
                     doorlockSelected.Visible = true;
-                    //doorlockBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
-                    attriButeId = userIdmode.OpenMode.ToString();
+                        //doorlockBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
+                        attriButeId = userIdmode.OpenMode.ToString();
                     attriButeData2 = userIdmode.UserId;
-                    modeName = userIdmode.ModeName;
+                    modeName = doorlockBtn.Text;
                 };
                 doorlockRow.MouseUpEventHandler += doorlockclick;
                 doorlockBtn.MouseUpEventHandler += doorlockclick;
@@ -359,6 +394,7 @@
                 }
             }
 
+
             Btncomplete.MouseUpEventHandler += (sender, e) =>
             {
                 var lockConditionsInfo = new Dictionary<string, string>();
@@ -373,7 +409,8 @@
                 lockConditionsInfo.Add("Range", "0");
                 var accounts = new Dictionary<string, string>();
                 accounts.Add("Type", "1");
-                accounts.Add("Account", membershipIfon.UserName + modeName);
+                accounts.Add("Account", Config.Instance.Guid);
+                accounts.Add("Option3", membershipIfon.UserName + modeName);//鐢ㄦ潵鏄剧ず鍚嶇О
                 accounts.Add("UserId", attriButeData2);
                 if (SelectedLockStatus != "")
                 {
@@ -443,9 +480,9 @@
                 {
                     if (conditionsIndex == -1)
                     {
-                        var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
-                                               Language.StringByID(MyInternationalizationString.usertip),
-                                               Language.StringByID(MyInternationalizationString.confrim));
+                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
+                   Language.StringByID(MyInternationalizationString.usertip),
+                   Language.StringByID(MyInternationalizationString.confrim));
                         alert.Show();
                         return;
                     }

--
Gitblit v1.8.0