From b800fbdf874cdc75ddc137ea2c22ac2c25d8b45c Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期二, 26 十一月 2019 10:10:37 +0800 Subject: [PATCH] 2019.11.26 --- ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs | 153 +++++++++++++++++++++++++++----------------------- 1 files changed, 83 insertions(+), 70 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs index c5f558d..c69ca44 100755 --- a/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs @@ -16,23 +16,12 @@ 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 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爜 @@ -93,14 +82,34 @@ BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, }; this.AddChidren(middle); - if (Send.UserList.Count == 0) + + + bool d = false; + string macport = common.DeviceAddr + "_" + common.DeviceEpoint.ToString(); + for (int i = 0; i < Send.LockList.Count; i++) + { + if (Send.LockList[i].DoorLockMacPort == macport) + { + ///宸茬粡瀛樺湪璇ラ棬閿佷俊鎭� + d = true; + break; + } + + } + + if (!d) { var allMemberslist = await Send.AllMembers(common.DeviceAddr); - Send.UserList.AddRange(allMemberslist); + Send.LockList.AddRange(allMemberslist); } - foreach (var user in Send.UserList) - { + + foreach (var user in Send.LockList) + { + if (user.DoorLockMacPort != macport) + { + continue; + } var userFramelayout = new RowLayout { Height = Application.GetRealHeight(160), @@ -122,7 +131,7 @@ var userBtn = new Button { - Text = user.MembershipName, + Text = user.UserName, TextAlignment = TextAlignment.CenterLeft, TextColor = ZigbeeColor.Current.LogicTextBlackColor, }; @@ -199,7 +208,7 @@ TextAlignment = TextAlignment.Center, X = Btncancel.Right + Application.GetRealWidth(100), TextSize = 16, - Text = user.MembershipName, + Text = user.UserName, }; lockRow.AddChidren(Btntitle); var Btncomplete = new Button @@ -214,8 +223,8 @@ }; 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++) @@ -243,27 +252,28 @@ Width = Application.GetRealWidth(600), TextAlignment = TextAlignment.CenterLeft, TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor, + Text= userifon.ModeName, }; doorlockRow.AddChidren(doorlockBtn); //(1鎸夐敭/3鍗�/15鎸囩汗) - switch (userifon.OpenMode.ToString()) - { - case "0": - { - doorlockBtn.Text = Language.StringByID(MyInternationalizationString.lockpassword); - } - break; - case "3": - { - doorlockBtn.Text = Language.StringByID(MyInternationalizationString.ic); - } - break; - case "15": - { - doorlockBtn.Text = Language.StringByID(MyInternationalizationString.fingerprint); - } - break; - } + //switch (userifon.OpenMode.ToString()) + //{ + // case "0": + // { + // doorlockBtn.Text = Language.StringByID(MyInternationalizationString.lockpassword); + // } + // break; + // case "3": + // { + // doorlockBtn.Text = Language.StringByID(MyInternationalizationString.ic); + // } + // break; + // case "15": + // { + // doorlockBtn.Text = Language.StringByID(MyInternationalizationString.fingerprint); + // } + // break; + //} var doorlockSelected = new Button { X = Application.GetRealWidth(860), @@ -285,48 +295,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", userifon.OpenMode.ToString()); - deviceConditionsInfo.Add("AttriButeData2", userifon.UserId); - 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", userifon.UserId); }; doorlockRow.MouseUpEventHandler += doorlockclick; doorlockBtn.MouseUpEventHandler += doorlockclick; doorlockSelected.MouseUpEventHandler += doorlockclick; doorlockfra.MouseUpEventHandler += doorlockclick; - if (edit&&editdeviceConditionsInfo!=null) + + if (edit && editdeviceConditionsInfo != null) { - deviceConditionsInfo = editdeviceConditionsInfo; + if (editdeviceConditionsInfo["AttriButeData2"] == userifon.UserId.ToString()) { selectedIcon.Visible = false; selectedIcon = doorlockSelected; doorlockSelected.Visible = true; } - + } } @@ -334,7 +323,31 @@ 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; @@ -344,13 +357,13 @@ { 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); -- Gitblit v1.8.0