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/Device/Logic/MemberList.cs | 119 +++++++++++++++++++++++++++++++---------------------------- 1 files changed, 62 insertions(+), 57 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs index 39fe971..9077c94 100755 --- a/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs @@ -9,25 +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"); - deviceConditionsInfo.Add("IsValid", "1"); - deviceConditionsInfo.Add("MacAddr", common.DeviceAddr); - deviceConditionsInfo.Add("Epoint", common.DeviceEpoint.ToString()); - deviceConditionsInfo.Add("Cluster_ID", "64529"); - deviceConditionsInfo.Add("AttriButeData1", "2"); - deviceConditionsInfo.Add("Range", "0"); - editdeviceConditionsInfo = deviceConditionsInfo; - } + + UserView.HomePage.Instance.ScrollEnabled = false; this.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor; #region 鏈�涓婇潰鐨勫竷灞�浠g爜 @@ -45,7 +39,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 +82,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) { @@ -205,13 +203,13 @@ }; lockRow.AddChidren(Btncomplete); #endregion - - string SelectedDeviceStatuscondition = ""; + ///瀹氫袱涓彉閲忚褰曚箣鍓嶇殑鍙�硷紱 + string userId = "", openMode = "", accountname="", SelectedDeviceStatuscondition = ""; lockcolorfra1.Y = Application.GetRealHeight(1920 - 140 - (160 * user.UserIdMode.Count) - 20 - 50); 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 +235,7 @@ }; doorlockRow.AddChidren(doorlockBtn); //(1鎸夐敭/3鍗�/15鎸囩汗) - string[] s = userid.Split('_'); - switch (s[1]) + switch (userifon.OpenMode.ToString()) { case "0": { @@ -277,48 +274,27 @@ selectedIcon.Visible = false; selectedIcon = doorlockSelected; doorlockSelected.Visible = true; + userId = userifon.UserId; + openMode = userifon.OpenMode.ToString(); + accountname = Btntitle.Text + doorlockBtn.Text; //doorlockBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; - if (deviceConditionsInfo.ContainsKey("AttriButeId")) - { - deviceConditionsInfo.Remove("AttriButeId"); - } - if (deviceConditionsInfo.ContainsKey("AttriButeData2")) - { - deviceConditionsInfo.Remove("AttriButeData2"); - } - deviceConditionsInfo.Add("AttriButeId", s[1]); - deviceConditionsInfo.Add("AttriButeData2", s[0]); - if (userdictionary.ContainsKey("Account")) - { - userdictionary.Remove("Account"); - } - if (userdictionary.ContainsKey("Type")) - { - userdictionary.Remove("Type"); - } - if (userdictionary.ContainsKey("UserId")) - { - userdictionary.Remove("UserId"); - } - userdictionary.Add("Account", Btntitle.Text+doorlockBtn.Text); - userdictionary.Add("Type", "1"); - userdictionary.Add("UserId", s[0]); }; doorlockRow.MouseUpEventHandler += doorlockclick; doorlockBtn.MouseUpEventHandler += doorlockclick; doorlockSelected.MouseUpEventHandler += doorlockclick; doorlockfra.MouseUpEventHandler += doorlockclick; - if (edit) + + if (edit && editdeviceConditionsInfo != null) { - if (editdeviceConditionsInfo["AttriButeData2"] == s[1]) + + if (editdeviceConditionsInfo["AttriButeData2"] == userifon.UserId.ToString()) { selectedIcon.Visible = false; selectedIcon = doorlockSelected; doorlockSelected.Visible = true; - } - + } } @@ -326,35 +302,63 @@ Btncomplete.MouseUpEventHandler += (sender3, e3) => { + string userIdstr = "", openModestr=""; + var deviceConditionsInfo = new Dictionary<string, string>(); + var userdictionary = new Dictionary<string, string>(); + deviceConditionsInfo.Add("Type", "1"); + deviceConditionsInfo.Add("IsValid", "1"); + deviceConditionsInfo.Add("MacAddr", common.DeviceAddr); + deviceConditionsInfo.Add("Epoint", common.DeviceEpoint.ToString()); + deviceConditionsInfo.Add("Cluster_ID", "64529"); + deviceConditionsInfo.Add("AttriButeData1", "2"); + deviceConditionsInfo.Add("Range", "0"); + deviceConditionsInfo.Add("AttriButeId", openMode); + deviceConditionsInfo.Add("AttriButeData2", userId); + userdictionary.Add("Account",accountname); + userdictionary.Add("Type", "1"); + userdictionary.Add("UserId", userId); + if (edit) + { + openModestr = editdeviceConditionsInfo["AttriButeId"]; + userIdstr = editdeviceConditionsInfo["AttriButeData2"]; + } + else + { + openModestr = deviceConditionsInfo["AttriButeId"]; + userIdstr = deviceConditionsInfo["AttriButeData2"]; + } if (SelectedDeviceStatuscondition != "") { - + bool add = false; for (int i = 0; i < Common.Logic.CurrentLogic.Conditions.Count; i++) { if (Common.Logic.CurrentLogic.Conditions[i]["Type"] == "1") { if ((Common.Logic.CurrentLogic.Conditions[i]["MacAddr"] == common.DeviceAddr) && (Common.Logic.CurrentLogic.Conditions[i]["Epoint"] == common.DeviceEpoint.ToString())) { - if (Common.Logic.CurrentLogic.Conditions[i]["AttriButeId"] == editdeviceConditionsInfo["AttriButeId"] && Common.Logic.CurrentLogic.Conditions[i]["AttriButeData2"] == editdeviceConditionsInfo["AttriButeData2"]) + if (Common.Logic.CurrentLogic.Conditions[i]["AttriButeId"] == openModestr && Common.Logic.CurrentLogic.Conditions[i]["AttriButeData2"] == userIdstr) { Common.Logic.CurrentLogic.Conditions.RemoveAt(i); Common.Logic.CurrentLogic.Conditions.Insert(i, deviceConditionsInfo); for (int j = 0; j < Common.Logic.CurrentLogic.Accounts.Count; j++) { - if (Common.Logic.CurrentLogic.Accounts[j]["UserId"] == editdeviceConditionsInfo["AttriButeData2"]) + if (Common.Logic.CurrentLogic.Accounts[j]["UserId"] == userIdstr) { Common.Logic.CurrentLogic.Accounts.RemoveAt(j); 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 +389,6 @@ } } + } } -- Gitblit v1.8.0