From 944b87b6bcccb095cd73f13f4410fb20faf48f74 Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期三, 25 十二月 2019 11:21:06 +0800 Subject: [PATCH] 2019.12.25 --- ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs | 120 ++++++++++++++++++++++++++++++++++------------------------- 1 files changed, 69 insertions(+), 51 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs index ea49ce1..e3d24b5 100755 --- a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs @@ -12,8 +12,9 @@ Tag = "LockLogic"; } Button selectedIcon = new Button(); - + VerticalScrolViewLayout middle; public int conditionsIndex = -1; + public async void Show() { #region 鏈�涓婇潰鐨勫竷灞�浠g爜 @@ -27,7 +28,7 @@ var titleName = new Button { - TextSize = 16, + TextSize = 17, TextColor = ZigbeeColor.Current.LogicTextBlackColor, TextAlignment = TextAlignment.CenterLeft, X = Application.GetRealWidth(176), @@ -68,7 +69,7 @@ #endregion - var middle = new VerticalScrolViewLayout + middle = new VerticalScrolViewLayout { Y = topRowLayout.Bottom, Height = Application.GetRealHeight(1920 - 184), @@ -86,23 +87,21 @@ d = true; break; } - } - + CommonPage.Loading.Start(); if (!d) { - var allMemberslist = await Send.AllMembers(Send.CurrentDoorLock.DeviceAddr); Send.LockList.AddRange(allMemberslist); } - UserAllView(middle, macport); + UserAllView(macport); + CommonPage.Loading.Hide(); } /// <summary> /// 鏄剧ず鎵�鏈夌敤鎴� /// </summary> - /// <param name="middle"></param> - void UserAllView(VerticalScrolViewLayout middle,string macport) + void UserAllView(string macport) { for (int i = 0; i < Send.LockList.Count; i++) @@ -137,6 +136,7 @@ Width = Application.GetRealWidth(600), Height = Application.GetRealHeight(130), Tag = Send.LockList[i], + TextSize = 14, }; userRow.AddChidren(usernameBtn); @@ -153,7 +153,7 @@ EventHandler<MouseEventArgs> userclick = (sender, e) => { - SelectedUserID(user.UserIdMode, usernameBtn.Text); + SelectedUserID(user); }; usernameBtn.MouseUpEventHandler += userclick; btntimeback.MouseUpEventHandler += userclick; @@ -168,7 +168,7 @@ /// </summary> /// <param name="membershipIfon">瑙﹀彂婧愬垪琛�</param> /// <param name="userName">鐢ㄦ埛鍚嶅瓧</param> - void SelectedUserID(List<Send.UnlockingMode> membershipIfon, string userName) { + void SelectedUserID(Send.MembershipIfon membershipIfon) { var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor }; this.AddChidren(flMain); @@ -178,14 +178,7 @@ flMain.RemoveFromParent(); }; - var lockcolorfra = new FrameLayout - { - Width = Application.GetRealWidth(1080), - Height = Application.GetRealHeight(100), - Y = Application.GetRealHeight(1920 - 100), - BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor, - }; - flMain.AddChidren(lockcolorfra); + var lockcolorfra1 = new FrameLayout { @@ -197,12 +190,14 @@ Radius = (uint)Application.GetRealHeight(60), }; flMain.AddChidren(lockcolorfra1); + lockcolorfra1.SetCornerWithSameRadius(20, HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); #region -------鍙栨秷 瀹屾垚 var lockRow = new RowLayout { Height = Application.GetRealHeight(140), LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor, + }; lockcolorfra1.AddChidren(lockRow); var Btncancel = new Button @@ -213,6 +208,7 @@ Width = Application.GetRealWidth(200), X = Application.GetRealWidth(80), TextAlignment = TextAlignment.CenterLeft, + TextSize = 14, }; lockRow.AddChidren(Btncancel); Btncancel.MouseUpEventHandler += (sender16, e16) => @@ -230,7 +226,7 @@ TextAlignment = TextAlignment.Center, X = Btncancel.Right + Application.GetRealWidth(100), TextSize = 16, - Text =userName, + Text = membershipIfon.UserName, }; lockRow.AddChidren(Btntitle); var Btncomplete = new Button @@ -241,19 +237,22 @@ Width = Application.GetRealWidth(200), TextAlignment = TextAlignment.CenterRight, X = Btntitle.Right + Application.GetRealWidth(100), + TextSize = 14, }; lockRow.AddChidren(Btncomplete); #endregion string SelectedLockStatus = ""; - lockcolorfra1.Y = Application.GetRealHeight(1920 - 140 - (160 * membershipIfon.Count) - 20 - 50); - lockcolorfra1.Height = Application.GetRealHeight(140 + (160 * membershipIfon.Count) + 20 + 50); + lockcolorfra1.Y = Application.GetRealHeight(1920 - 140 - (160 * membershipIfon.UserIdMode.Count) - 20 - 50); + lockcolorfra1.Height = Application.GetRealHeight(140 + (160 * membershipIfon.UserIdMode.Count) + 20 + 50); ///瀹氫箟涓や釜鍙橀噺璁板綍閫変腑鐘舵�侊紱 - string attriButeId ="", attriButeData2 =""; - for (int j = 0; j < membershipIfon.Count; j++) + string attriButeId = ""; + string attriButeData2 = ""; + string modeName = ""; + for (int j = 0; j < membershipIfon.UserIdMode.Count; j++) { - var userIdmode = membershipIfon[j]; + var userIdmode = membershipIfon.UserIdMode[j]; var doorlockfra = new FrameLayout { Height = Application.GetRealHeight(160), @@ -277,29 +276,10 @@ TextAlignment = TextAlignment.CenterLeft, TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor, Text = userIdmode.ModeName, + TextSize = 14, }; doorlockRow.AddChidren(doorlockBtn); - //(0鎸夐敭/3鍗�/15鎸囩汗) - //switch (userIdmode.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), @@ -311,7 +291,7 @@ }; doorlockRow.AddChidren(doorlockSelected); - if ((membershipIfon.Count - 1) == j) + if ((membershipIfon.UserIdMode.Count - 1) == j) { doorlockRow.LineColor = ZigbeeColor.Current.LogicBackgroundColor; } @@ -324,6 +304,7 @@ //doorlockBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; attriButeId = userIdmode.OpenMode.ToString(); attriButeData2 = userIdmode.UserId; + modeName = userIdmode.ModeName; }; doorlockRow.MouseUpEventHandler += doorlockclick; doorlockBtn.MouseUpEventHandler += doorlockclick; @@ -339,6 +320,8 @@ selectedIcon = doorlockSelected; doorlockSelected.Visible = true; } + + } } @@ -354,11 +337,16 @@ lockConditionsInfo.Add("AttriButeData2", attriButeData2); lockConditionsInfo.Add("AttriButeData1", "2"); lockConditionsInfo.Add("Range", "0"); + var accounts = new Dictionary<string, string>(); + accounts.Add("Type", "1"); + accounts.Add("Account", membershipIfon.UserName+ modeName); + accounts.Add("UserId", attriButeData2); if (SelectedLockStatus != "") { if (conditionsIndex == -1) { - bool add = false; + bool addCondition = false; + bool addAccount = false; for (int i = 0; i < Common.Logic.CurrentLogic.Conditions.Count; i++) { if (Common.Logic.CurrentLogic.Conditions[i]["Type"] == "1") @@ -367,23 +355,53 @@ { if (Common.Logic.CurrentLogic.Conditions[i]["AttriButeId"] == lockConditionsInfo["AttriButeId"] && Common.Logic.CurrentLogic.Conditions[i]["AttriButeData2"] == lockConditionsInfo["AttriButeData2"]) { - add = true; + addCondition = true; break; } } } } - - if (!add) + if (!addCondition) { Common.Logic.CurrentLogic.Conditions.Add(lockConditionsInfo); } + for (int i = 0; i < Common.Logic.CurrentLogic.Accounts.Count; i++) + { + if (Common.Logic.CurrentLogic.Accounts[i]["Type"] == "1") + { + if (Common.Logic.CurrentLogic.Accounts[i]["UserId"] == attriButeData2) + { + addAccount = true; + break; + } + } + } + if (!addAccount) + { + Common.Logic.CurrentLogic.Accounts.Add(accounts); + } } else { + ///鎵惧嚭涔嬪墠鐨勬棫鏁版嵁绉婚櫎鎺夛紝鍐嶉噸鏂版坊鍔犳柊鏁版嵁锛� + string accountuserId = Common.Logic.CurrentLogic.Conditions[conditionsIndex]["AttriButeData2"]; Common.Logic.CurrentLogic.Conditions.RemoveAt(conditionsIndex); Common.Logic.CurrentLogic.Conditions.Insert(conditionsIndex, lockConditionsInfo); + for (int i = 0; i < Common.Logic.CurrentLogic.Accounts.Count; i++) + { + if (Common.Logic.CurrentLogic.Accounts[i]["Type"] == "1") + { + ///鎵惧嚭涔嬪墠鐨勬棫鏁版嵁绉婚櫎鎺夛紝鍐嶉噸鏂版坊鍔犳柊鏁版嵁锛� + if (Common.Logic.CurrentLogic.Accounts[i]["UserId"] == accountuserId) + { + Common.Logic.CurrentLogic.Accounts.RemoveAt(i); + Common.Logic.CurrentLogic.Accounts.Insert(i, accounts); + break; + } + } + } + } } -- Gitblit v1.8.0