From c7698e163e43cea9e7f8ee45f8e3f91c9265cca4 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 04 十一月 2019 19:11:41 +0800 Subject: [PATCH] 合并了全部的代码 --- ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs | 47 ++++++++++++++++++++++++++++++----------------- 1 files changed, 30 insertions(+), 17 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs index 39fe971..c5f558d 100755 --- a/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs @@ -9,14 +9,19 @@ { public class MemberList : FrameLayout { + public MemberList() + { + Tag = "Logic"; + } Button selectedIcon = new Button(); public static Action action; public static bool edit=false; Dictionary<string, string> deviceConditionsInfo = new Dictionary<string, string>(); Dictionary<string, string> userdictionary = new Dictionary<string, string>(); - public void Show(CommonDevice common, Dictionary<string, string> editdeviceConditionsInfo=null) + public async void Show(CommonDevice common, Dictionary<string, string> editdeviceConditionsInfo=null) { + if (!edit) { deviceConditionsInfo.Add("Type", "1"); @@ -45,7 +50,7 @@ TextColor = ZigbeeColor.Current.LogicTextBlackColor, TextAlignment = TextAlignment.CenterLeft, X = Application.GetRealWidth(176), - Width = Application.GetRealWidth(400), + Width = Application.GetRealWidth(600), Height = Application.GetRealHeight(69), Y = Application.GetRealHeight(92), TextID = MyInternationalizationString.userlist, @@ -88,7 +93,11 @@ BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, }; this.AddChidren(middle); - + if (Send.UserList.Count == 0) + { + var allMemberslist = await Send.AllMembers(common.DeviceAddr); + Send.UserList.AddRange(allMemberslist); + } foreach (var user in Send.UserList) { @@ -211,7 +220,7 @@ lockcolorfra1.Height = Application.GetRealHeight(140 + (160 * user.UserIdMode.Count) + 20 + 50); for (int i = 0; i < user.UserIdMode.Count; i++) { - var userid = user.UserIdMode[i]; + var userifon = user.UserIdMode[i]; var doorlockfra = new FrameLayout { Height = Application.GetRealHeight(160), @@ -237,8 +246,7 @@ }; doorlockRow.AddChidren(doorlockBtn); //(1鎸夐敭/3鍗�/15鎸囩汗) - string[] s = userid.Split('_'); - switch (s[1]) + switch (userifon.OpenMode.ToString()) { case "0": { @@ -286,8 +294,8 @@ { deviceConditionsInfo.Remove("AttriButeData2"); } - deviceConditionsInfo.Add("AttriButeId", s[1]); - deviceConditionsInfo.Add("AttriButeData2", s[0]); + deviceConditionsInfo.Add("AttriButeId", userifon.OpenMode.ToString()); + deviceConditionsInfo.Add("AttriButeData2", userifon.UserId); if (userdictionary.ContainsKey("Account")) { @@ -303,20 +311,20 @@ } userdictionary.Add("Account", Btntitle.Text+doorlockBtn.Text); userdictionary.Add("Type", "1"); - userdictionary.Add("UserId", s[0]); + userdictionary.Add("UserId", userifon.UserId); }; doorlockRow.MouseUpEventHandler += doorlockclick; doorlockBtn.MouseUpEventHandler += doorlockclick; doorlockSelected.MouseUpEventHandler += doorlockclick; doorlockfra.MouseUpEventHandler += doorlockclick; - if (edit) + if (edit&&editdeviceConditionsInfo!=null) { - if (editdeviceConditionsInfo["AttriButeData2"] == s[1]) + deviceConditionsInfo = editdeviceConditionsInfo; + if (editdeviceConditionsInfo["AttriButeData2"] == userifon.UserId.ToString()) { selectedIcon.Visible = false; selectedIcon = doorlockSelected; doorlockSelected.Visible = true; - } } @@ -326,9 +334,10 @@ Btncomplete.MouseUpEventHandler += (sender3, e3) => { + if (SelectedDeviceStatuscondition != "") { - + bool add = false; for (int i = 0; i < Common.Logic.CurrentLogic.Conditions.Count; i++) { if (Common.Logic.CurrentLogic.Conditions[i]["Type"] == "1") @@ -347,14 +356,17 @@ Common.Logic.CurrentLogic.Accounts.Insert(j, userdictionary); } } - return; + add = true; + break; } } } } - - Common.Logic.CurrentLogic.Accounts.Add(userdictionary); - Common.Logic.CurrentLogic.Conditions.Add(deviceConditionsInfo); + if (!add) + { + Common.Logic.CurrentLogic.Accounts.Add(userdictionary); + Common.Logic.CurrentLogic.Conditions.Add(deviceConditionsInfo); + } } else @@ -385,5 +397,6 @@ } } + } } -- Gitblit v1.8.0