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/DoorLockLogic/AddCondition.cs | 111 +++++++++++++++++++++++++++++++------------------------ 1 files changed, 63 insertions(+), 48 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs index 577d841..2c95b60 100755 --- a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs @@ -14,7 +14,7 @@ Button selectedIcon = new Button(); public int conditionsIndex = -1; - public void Show() + public async void Show() { #region 鏈�涓婇潰鐨勫竷灞�浠g爜 var topRowLayout = new RowLayout @@ -31,11 +31,11 @@ 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.selection, - Text = "閫夋嫨鐢ㄦ埛", + TextID = MyInternationalizationString.userlist, + //Text = "閫夋嫨鐢ㄦ埛", }; topRowLayout.AddChidren(titleName); @@ -77,28 +77,24 @@ this.AddChidren(middle); - var userlist = new List<ZigBee.Device.DoorLock.LocaDoorLockObj>(); - userlist.Clear(); - ///鍒ゆ柇APP鐧诲綍杩涙潵鐢ㄦ埛韬唤(涓讳汉锛岀鐞嗗憳锛屾垚鍛�) - if (UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 3) + if (Send.LinkageventLockList.Count == 0) { - var list = LockIfon.GetUserIfon(LockIfon.UserMemberInfoRes.SubAccountDistributedMark); - foreach (var o in list) - { - if (userlist.Count != 0) - { - continue; - } - userlist.Add(o); - } + var allMemberslist = await Send.AllMembers(Send.CurrentDoorLock.DeviceAddr); + Send.LinkageventLockList.AddRange(allMemberslist); } - else + UserAllView(middle); + + } + /// <summary> + /// 鏄剧ず鎵�鏈夌敤鎴� + /// </summary> + /// <param name="middle"></param> + void UserAllView(VerticalScrolViewLayout middle) + { + + for (int i = 0; i < Send.LinkageventLockList.Count; i++) { - userlist = LockIfon.GetUserList(); - } - for (int i = 0; i < userlist.Count; i++) - { - var user = userlist[i]; + var user = Send.LinkageventLockList[i]; var userFramelayout = new FrameLayout { Height = Application.GetRealHeight(160), @@ -118,12 +114,12 @@ var usernameBtn = new Button { - Text = user.UserName, + Text = user.MembershipName, TextAlignment = TextAlignment.CenterLeft, TextColor = ZigbeeColor.Current.LogicTextBlackColor, Width = Application.GetRealWidth(600), Height = Application.GetRealHeight(130), - Tag = userlist[i].ConnectedAccount + Tag = Send.LinkageventLockList[i], }; userRow.AddChidren(usernameBtn); @@ -140,8 +136,7 @@ EventHandler<MouseEventArgs> userclick = (sender, e) => { - var uesrifonlist = LockIfon.GetUserIfon(usernameBtn.Tag.ToString()); - SelectedUserID(uesrifonlist, usernameBtn.Text); + SelectedUserID(user.UserIdMode, usernameBtn.Text); }; usernameBtn.MouseUpEventHandler += userclick; btntimeback.MouseUpEventHandler += userclick; @@ -151,13 +146,12 @@ } } - /// <summary> /// 閫夋嫨鏌愪釜鐢ㄦ埛 /// </summary> - /// <param name="uesrifonlist">瑙﹀彂婧愬垪琛�</param> + /// <param name="membershipIfon">瑙﹀彂婧愬垪琛�</param> /// <param name="userName">鐢ㄦ埛鍚嶅瓧</param> - void SelectedUserID(List<ZigBee.Device.DoorLock.LocaDoorLockObj> uesrifonlist,string userName) { + void SelectedUserID(List<Send.LockMode> membershipIfon, string userName) { var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor }; this.AddChidren(flMain); @@ -236,13 +230,13 @@ #endregion string SelectedLockStatus = ""; - lockcolorfra1.Y = Application.GetRealHeight(1920 - 140 - (160 * uesrifonlist.Count) - 20 - 50); - lockcolorfra1.Height = Application.GetRealHeight(140 + (160 * uesrifonlist.Count) + 20 + 50); + lockcolorfra1.Y = Application.GetRealHeight(1920 - 140 - (160 * membershipIfon.Count) - 20 - 50); + lockcolorfra1.Height = Application.GetRealHeight(140 + (160 * membershipIfon.Count) + 20 + 50); ///瀹氫箟涓や釜鍙橀噺璁板綍閫変腑鐘舵�侊紱 - int attriButeId = 0, attriButeData2 = 0; - for (int j = 0; j < uesrifonlist.Count; j++) + string attriButeId ="", attriButeData2 =""; + for (int j = 0; j < membershipIfon.Count; j++) { - var userid = uesrifonlist[j]; + var userIdmode = membershipIfon[j]; var doorlockfra = new FrameLayout { Height = Application.GetRealHeight(160), @@ -268,19 +262,19 @@ }; doorlockRow.AddChidren(doorlockBtn); //(0鎸夐敭/3鍗�/15鎸囩汗) - switch (userid.UnlockType) + switch (userIdmode.OpenMode.ToString()) { - case 0: + case "0": { doorlockBtn.Text = Language.StringByID(MyInternationalizationString.lockpassword); } break; - case 3: + case "3": { doorlockBtn.Text = Language.StringByID(MyInternationalizationString.ic); } break; - case 15: + case "15": { doorlockBtn.Text = Language.StringByID(MyInternationalizationString.fingerprint); } @@ -300,7 +294,7 @@ }; doorlockRow.AddChidren(doorlockSelected); - if ((uesrifonlist.Count - 1) == j) + if ((membershipIfon.Count - 1) == j) { doorlockRow.LineColor = ZigbeeColor.Current.LogicBackgroundColor; } @@ -311,8 +305,8 @@ selectedIcon = doorlockSelected; doorlockSelected.Visible = true; //doorlockBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; - attriButeId = userid.UnlockType; - attriButeData2 = userid.UserID; + attriButeId = userIdmode.OpenMode.ToString(); + attriButeData2 = userIdmode.UserId; }; doorlockRow.MouseUpEventHandler += doorlockclick; doorlockBtn.MouseUpEventHandler += doorlockclick; @@ -322,7 +316,7 @@ if (conditionsIndex != -1) { var s = Common.Logic.CurrentLogic.Conditions[conditionsIndex]; - if (s["AttriButeId"] == userid.UnlockType.ToString() && s["AttriButeData2"] == userid.UserID.ToString()) + if (s["AttriButeId"] == userIdmode.OpenMode.ToString() && s["AttriButeData2"] == userIdmode.UserId) { selectedIcon.Visible = false; selectedIcon = doorlockSelected; @@ -336,18 +330,38 @@ var lockConditionsInfo = new Dictionary<string, string>(); lockConditionsInfo.Add("Type", "1"); lockConditionsInfo.Add("IsValid", "1"); - lockConditionsInfo.Add("MacAddr", LockIfon.DoorLock.DeviceAddr); - lockConditionsInfo.Add("Epoint", LockIfon.DoorLock.DeviceEpoint.ToString()); + lockConditionsInfo.Add("MacAddr", Send.CurrentDoorLock.DeviceAddr); + lockConditionsInfo.Add("Epoint", Send.CurrentDoorLock.DeviceEpoint.ToString()); lockConditionsInfo.Add("Cluster_ID", "64529"); - lockConditionsInfo.Add("AttriButeId", attriButeId.ToString()); - lockConditionsInfo.Add("AttriButeData2", attriButeData2.ToString()); + lockConditionsInfo.Add("AttriButeId", attriButeId); + lockConditionsInfo.Add("AttriButeData2", attriButeData2); lockConditionsInfo.Add("AttriButeData1", "2"); lockConditionsInfo.Add("Range", "0"); if (SelectedLockStatus != "") { if (conditionsIndex == -1) { - Common.Logic.CurrentLogic.Conditions.Add(lockConditionsInfo); + 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"] == Send.CurrentDoorLock.DeviceAddr) && (Common.Logic.CurrentLogic.Conditions[i]["Epoint"] == Send.CurrentDoorLock.DeviceEpoint.ToString())) + { + if (Common.Logic.CurrentLogic.Conditions[i]["AttriButeId"] == lockConditionsInfo["AttriButeId"] && Common.Logic.CurrentLogic.Conditions[i]["AttriButeData2"] == lockConditionsInfo["AttriButeData2"]) + { + add = true; + break; + } + } + } + } + + if (!add) + { + Common.Logic.CurrentLogic.Conditions.Add(lockConditionsInfo); + } + } else { @@ -373,5 +387,6 @@ lockLogicCommunalPage.Show(() => { }); }; } + } } -- Gitblit v1.8.0