From 6bca8fcd37a48808a0b9c9342fc1be0adddfece6 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期五, 08 五月 2020 17:46:44 +0800
Subject: [PATCH] 请合并最新代码,优化绑定信息
---
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs | 266 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 266 insertions(+), 0 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs
new file mode 100755
index 0000000..25bdf6f
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs
@@ -0,0 +1,266 @@
+锘縰sing System;
+using System.Collections.Generic;
+using Shared.Common;
+using Shared.Phone.UserCenter.Device;
+using ZigBee.Device;
+
+namespace Shared.Phone.UserCenter.DoorLock
+{
+ /// <summary>
+ /// 闂ㄩ攣绠$悊
+ /// </summary>
+ public class UserManagement : DoorLockCommonLayout
+ {
+ /// 鏋勯�犲嚱鏁�
+ /// </summary>
+ /// <param name="doorLock"></param>
+ public UserManagement(ZigBee.Device.DoorLock doorLock)
+ {
+ this.doorLock = doorLock;
+ localAllAccountListTemp = doorLock.localAllAccountList;
+ localDoorLockUserListTemp = doorLock.localDoorLockUserList;
+ }
+
+ #region 鈼� 鍙橀噺鐢虫槑__________________________
+ ZigBee.Device.DoorLock doorLock;
+ 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
+
+ /// <summary>
+ /// 鏁版嵁鍒锋柊
+ /// </summary>
+ void ReadAccountDoorLockInfoList()
+ {
+ System.Threading.Tasks.Task.Run(async () =>
+ {
+ try
+ {
+ var localAccountListTemp = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.LocalAccountList();
+ if (localAccountListTemp != null)
+ {
+ 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);
+ }
+ if (doorLock.HasRemoteUnlockAccess.ContainsKey(sub.SubAccountDistributedMark) == false)
+ {
+ doorLock.HasRemoteUnlockAccess.Add(sub.SubAccountDistributedMark, false);
+ }
+ if (doorLock.IsFailedToGetDoorLockInfo.ContainsKey(sub.SubAccountDistributedMark) == false)
+ {
+ 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.Down, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+ });
+ }
+ }
+ catch { }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ MidFrameLayoutContent();
+ CommonPage.Loading.Hide();
+ midVerticalScrolViewLayout.EndHeaderRefreshing();
+ });
+ }
+ });
+ }
+
+ /// <summary>
+ /// 鏄剧ず鐣岄潰
+ /// </summary>
+ public void Show()
+ {
+ this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.UserManagement));
+
+ EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
+ {
+ RemoveFromParent();
+ };
+ this.btnBack.MouseUpEventHandler += eHandlerBack;
+ this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack;
+ this.MidFrameLayout(this);
+
+ var btnAddFrameLayout = new FrameLayout
+ {
+ X = Application.GetRealWidth(829 - 116),
+ Height = Application.GetRealHeight(72),
+ Width = Application.GetRealWidth(190),
+ };
+ this.titleFrameLayout.AddChidren(btnAddFrameLayout);
+
+ var btnUndistributeIcon = new Button
+ {
+ Height = Application.GetRealHeight(69),
+ Width = Application.GetRealWidth(69),
+ UnSelectedImagePath = "DoorLock/UndistributeIcon.png",
+ };
+ btnAddFrameLayout.AddChidren(btnUndistributeIcon);
+
+ var btnUndistributeText = new Button
+ {
+ Height = Application.GetRealHeight(72),
+ 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);
+ if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+ {
+ btnAddFrameLayout.Width = 0;
+ btnUndistributeIcon.Width = 0;
+ btnUndistributeText.Width = 0;
+ }
+ EventHandler<MouseEventArgs> eHandler = (sender, e) =>
+ {
+ var undistributeDoorlockUserPage = new Shared.Phone.UserCenter.DoorLock.UndistributeDoorlockUserPage(doorLock, doorLock.localAllAccountList);
+ Shared.Phone.UserView.HomePage.Instance.AddChidren(undistributeDoorlockUserPage);
+ Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+ undistributeDoorlockUserPage.Show();
+ };
+ btnAddFrameLayout.MouseDownEventHandler += eHandler;
+ btnUndistributeText.MouseDownEventHandler += eHandler;
+ btnUndistributeIcon.MouseDownEventHandler += eHandler;
+ midVerticalScrolViewLayout = new VerticalRefreshLayout() { };
+ this.midFrameLayout.AddChidren(midVerticalScrolViewLayout);
+
+ if (localAllAccountListTemp.Count == 0)
+ {
+ CommonPage.Loading.Start("Loading...");
+ ReadAccountDoorLockInfoList();
+ }
+ else
+ {
+ MidFrameLayoutContent();
+ }
+
+ midVerticalScrolViewLayout.BeginHeaderRefreshingAction += () =>
+ {
+ midVerticalScrolViewLayout.BeginHeaderRefreshing();
+ ReadAccountDoorLockInfoList();
+ };
+ }
+
+ /// <summary>
+ /// 涓儴甯冨眬鏄剧ず
+ /// </summary>
+ async void MidFrameLayoutContent()
+ {
+ midVerticalScrolViewLayout.RemoveAll();
+ for (int i = 0; i < doorLock.localAllAccountList.Count; i++)
+ {
+ var currentAccount = doorLock.localAllAccountList[i];
+ var RowView = new FrameLayout()
+ {
+ Height = Application.GetRealHeight(127 + 23),
+ BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite,
+ };
+ midVerticalScrolViewLayout.AddChidren(RowView);
+
+ var btnText = new Button()
+ {
+ X = Application.GetRealWidth(58),
+ Width = Application.GetRealWidth(300),
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
+ Gravity = Gravity.CenterVertical,
+ TextSize = 14,
+ };
+ RowView.AddChidren(btnText);
+
+ var btnRightFrameLayout = new FrameLayout()
+ {
+ Height = Application.GetRealHeight(110),
+ Width = Application.GetRealWidth(110),
+ X = Application.CurrentWidth - Application.GetRealWidth(150),
+ Y = Application.GetRealHeight(25),
+ };
+ RowView.AddChidren(btnRightFrameLayout);
+
+ var btnRight = new Button()
+ {
+ Height = Application.GetRealHeight(58),
+ Width = Application.GetRealWidth(58),
+ UnSelectedImagePath = "DoorLock/RightIcon.png",
+ Gravity = Gravity.Center,
+ };
+ btnRightFrameLayout.AddChidren(btnRight);
+
+ var line2 = new Button()
+ {
+ Y = RowView.Height - 1,
+ X = Application.GetRealWidth(58),
+ Width = Application.GetRealWidth(965),
+ Height = 1,
+ BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine,
+ };
+ RowView.AddChidren(line2);
+ int currentIndex = i;
+ if (currentIndex == doorLock.localAllAccountList.Count - 1)
+ {
+ line2.Visible = false;
+ }
+
+ if (!string.IsNullOrEmpty(currentAccount.UserName))
+ {
+ btnText.Text = currentAccount.UserName;
+ }
+ else
+ {
+ btnText.Text = currentAccount.Account;
+ }
+
+ EventHandler<MouseEventArgs> eHandler = (sender, e) =>
+ {
+ if (currentIndex == 0)
+ {
+ var masterManagementPage = new Shared.Phone.UserCenter.DoorLock.MasterManagementPage(doorLock, currentAccount);
+ Shared.Phone.UserView.HomePage.Instance.AddChidren(masterManagementPage);
+ Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+ masterManagementPage.Show();
+ }
+ else
+ {
+ var memberFrozenPage = new Shared.Phone.UserCenter.DoorLock.MemberFrozenPage(doorLock, currentAccount);
+ Shared.Phone.UserView.HomePage.Instance.AddChidren(memberFrozenPage);
+ Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+ memberFrozenPage.Show();
+ }
+ };
+ btnRight.MouseUpEventHandler += eHandler;
+ RowView.MouseUpEventHandler += eHandler;
+ btnText.MouseUpEventHandler += eHandler;
+ }
+ }
+ }
+}
--
Gitblit v1.8.0