From 66a9965c44ecc32a6696abca876ab9d1cd091584 Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期五, 28 二月 2020 15:25:13 +0800 Subject: [PATCH] 2020.2.28 --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs | 65 ++++++++++++++++++++++++++------ 1 files changed, 53 insertions(+), 12 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs index 7727d38..f224f74 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs @@ -27,18 +27,26 @@ public UserManagement(ZigBee.Device.DoorLock doorLock) { this.doorLock = doorLock; + localAllAccountListTemp = doorLock.localAllAccountList; + localDoorLockUserListTemp = doorLock.localDoorLockUserList; } #region 鈼� 鍙橀噺鐢虫槑__________________________ ZigBee.Device.DoorLock doorLock; - VerticalScrolViewLayout midVerticalScrolViewLayout; + VerticalRefreshLayout midVerticalScrolViewLayout; + public List<Shared.Phone.UserCenter.MemberInfoRes> localAllAccountListTemp = new List<Shared.Phone.UserCenter.MemberInfoRes> { }; + public Dictionary<int, DoorLockCommonInfo.LocaDoorLockObj> localDoorLockUserListTemp = new Dictionary<int, DoorLockCommonInfo.LocaDoorLockObj>(); + + #endregion - void ReadAccountList() + /// <summary> + /// 鏁版嵁鍒锋柊 + /// </summary> + void ReadAccountDoorLockInfoList() { System.Threading.Tasks.Task.Run(async () => { - Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); }); try { var localAccountListTemp = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.LocalAccountList(); @@ -46,9 +54,11 @@ { doorLock.localAllAccountList.Clear(); doorLock.localAllAccountList = localAccountListTemp; + localAllAccountListTemp = doorLock.localAllAccountList; + + //鍒濆鍖栨潈闄愪俊鎭� foreach (var sub in localAccountListTemp) { - //鍒濆鍖栨潈闄愪俊鎭� if (doorLock.IsFreezeAccount.ContainsKey(sub.SubAccountDistributedMark) == false) { doorLock.IsFreezeAccount.Add(sub.SubAccountDistributedMark, false); @@ -62,13 +72,20 @@ doorLock.IsFailedToGetDoorLockInfo.Add(sub.SubAccountDistributedMark, false); } } + + //鑾峰彇鏈湴闂ㄩ攣鍒楄〃 + if (localDoorLockUserListTemp.Count == 0) + { + var list = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllAcountUserlist(doorLock); + localDoorLockUserListTemp = doorLock.localDoorLockUserList; + } doorLock.ReSave(); } else { Application.RunOnMainThread(() => { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Down, CloseTime = 1 }.Show(Common.CommonPage.Instance); }); } } @@ -79,11 +96,15 @@ { MidFrameLayoutContent(); CommonPage.Loading.Hide(); + midVerticalScrolViewLayout.EndHeaderRefreshing(); }); } }); } + /// <summary> + /// 鏄剧ず鐣岄潰 + /// </summary> public void Show() { this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.UserManagement)); @@ -115,10 +136,12 @@ var btnUndistributeText = new Button { Height = Application.GetRealHeight(72), - Width = Application.GetRealWidth(121), + Width = Application.GetRealWidth(150), TextID = R.MyInternationalizationString.Undistributed, TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText, X = btnUndistributeIcon.Right, + IsBold = true, + TextSize = 13, TextAlignment = TextAlignment.CenterLeft, }; btnAddFrameLayout.AddChidren(btnUndistributeText); @@ -137,13 +160,31 @@ btnAddFrameLayout.MouseDownEventHandler += eHandler; btnUndistributeText.MouseDownEventHandler += eHandler; btnUndistributeIcon.MouseDownEventHandler += eHandler; - midVerticalScrolViewLayout = new VerticalScrolViewLayout() + midVerticalScrolViewLayout = new VerticalRefreshLayout() { }; this.midFrameLayout.AddChidren(midVerticalScrolViewLayout); - ReadAccountList(); + + if (localAllAccountListTemp.Count == 0) + { + CommonPage.Loading.Start("Loading..."); + ReadAccountDoorLockInfoList(); + } + else + { + MidFrameLayoutContent(); + } + + midVerticalScrolViewLayout.BeginHeaderRefreshingAction += () => + { + midVerticalScrolViewLayout.BeginHeaderRefreshing(); + ReadAccountDoorLockInfoList(); + }; } + /// <summary> + /// 涓儴甯冨眬鏄剧ず + /// </summary> async void MidFrameLayoutContent() { midVerticalScrolViewLayout.RemoveAll(); @@ -152,8 +193,8 @@ var currentAccount = doorLock.localAllAccountList[i]; var RowView = new FrameLayout() { - Height = Application.GetRealHeight(161), - BackgroundColor = Shared.Common.ZigbeeColor.Current.XMTopFrameLayout, + Height = Application.GetRealHeight(127 + 23), + BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite, }; midVerticalScrolViewLayout.AddChidren(RowView); @@ -162,7 +203,7 @@ X = Application.GetRealWidth(58), Width = Application.GetRealWidth(300), TextAlignment = TextAlignment.CenterLeft, - TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText, + TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, Gravity = Gravity.CenterVertical, TextSize = 14, }; @@ -201,7 +242,7 @@ line2.Visible = false; } - if (currentAccount.UserName != null) + if (!string.IsNullOrEmpty(currentAccount.UserName)) { btnText.Text = currentAccount.UserName; } -- Gitblit v1.8.0