From 59ab4de7a58a8da55f2136440269c60a1172e16d Mon Sep 17 00:00:00 2001 From: WJC <wjc@hdlchina.com.cn> Date: 星期三, 20 十一月 2019 17:29:06 +0800 Subject: [PATCH] 2019-11-20-1 --- ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs | 119 ++++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 72 insertions(+), 47 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs index bc56662..423a369 100644 --- a/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs @@ -14,7 +14,6 @@ Tag = "Logic"; } Button selectedIcon = new Button(); - public static Action action; public static bool edit=false; @@ -35,7 +34,7 @@ var titleName = new Button { - TextSize = 16, + TextSize = 17, TextColor = ZigbeeColor.Current.LogicTextBlackColor, TextAlignment = TextAlignment.CenterLeft, X = Application.GetRealWidth(176), @@ -56,7 +55,6 @@ clickBtn.MouseDownEventHandler += (sender, e) => { RemoveFromParent(); - action(); }; var back = new Button @@ -82,19 +80,39 @@ 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) - { - var userFramelayout = new RowLayout + + foreach (var user in Send.LockList) + { + if (user.DoorLockMacPort != macport) + { + continue; + } + var userFramelayout = new FrameLayout { Height = Application.GetRealHeight(160), BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor, - LineColor = ZigbeeColor.Current.LogicBlankBackgroundColor, + // LineColor = ZigbeeColor.Current.LogicBlankBackgroundColor, }; middle.AddChidren(userFramelayout); @@ -111,9 +129,10 @@ var userBtn = new Button { - Text = user.MembershipName, + Text = user.UserName, TextAlignment = TextAlignment.CenterLeft, TextColor = ZigbeeColor.Current.LogicTextBlackColor, + TextSize = 14, }; userRow.AddChidren(userBtn); @@ -171,6 +190,7 @@ Width = Application.GetRealWidth(200), X = Application.GetRealWidth(80), TextAlignment = TextAlignment.CenterLeft, + TextSize = 14, }; lockRow.AddChidren(Btncancel); Btncancel.MouseUpEventHandler += (sender16, e16) => @@ -188,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 @@ -199,12 +219,16 @@ Width = Application.GetRealWidth(200), TextAlignment = TextAlignment.CenterRight, X = Btntitle.Right + Application.GetRealWidth(100), + TextSize = 14, }; lockRow.AddChidren(Btncomplete); #endregion ///瀹氫袱涓彉閲忚褰曚箣鍓嶇殑鍙�硷紱 - string userId = "", openMode = "", accountname="", SelectedDeviceStatuscondition = ""; + string userId = ""; + string openMode = ""; + string accountname = ""; + string 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++) @@ -232,27 +256,11 @@ Width = Application.GetRealWidth(600), TextAlignment = TextAlignment.CenterLeft, TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor, + Text= userifon.ModeName, + TextSize = 14, }; 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; - } + var doorlockSelected = new Button { X = Application.GetRealWidth(860), @@ -278,7 +286,6 @@ openMode = userifon.OpenMode.ToString(); accountname = Btntitle.Text + doorlockBtn.Text; //doorlockBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; - }; doorlockRow.MouseUpEventHandler += doorlockclick; doorlockBtn.MouseUpEventHandler += doorlockclick; @@ -302,6 +309,7 @@ Btncomplete.MouseUpEventHandler += (sender3, e3) => { + string userIdstr = "", openModestr=""; var deviceConditionsInfo = new Dictionary<string, string>(); var userdictionary = new Dictionary<string, string>(); deviceConditionsInfo.Add("Type", "1"); @@ -316,40 +324,57 @@ 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; + bool addConditions = false; + bool addAccounts = 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"]) - { - Common.Logic.CurrentLogic.Accounts.RemoveAt(j); - Common.Logic.CurrentLogic.Accounts.Insert(j, userdictionary); - } - } - add = true; + addConditions = true; break; } } } } - if (!add) + for (int j = 0; j < Common.Logic.CurrentLogic.Accounts.Count; j++) { - Common.Logic.CurrentLogic.Accounts.Add(userdictionary); + if (Common.Logic.CurrentLogic.Accounts[j]["Type"] == "1") + { + if (Common.Logic.CurrentLogic.Accounts[j]["UserId"] == userIdstr) + { + Common.Logic.CurrentLogic.Accounts.RemoveAt(j); + Common.Logic.CurrentLogic.Accounts.Insert(j, userdictionary); + addAccounts = true; + break; + } + } + } + if (!addConditions) + { Common.Logic.CurrentLogic.Conditions.Add(deviceConditionsInfo); } - + if (!addAccounts) + { + Common.Logic.CurrentLogic.Accounts.Add(userdictionary); + } } else { -- Gitblit v1.8.0