From 2eba7f5d706f7802bbd76629116499adeb518a68 Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期二, 31 十二月 2019 17:58:14 +0800
Subject: [PATCH] 2019-12-31-03
---
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs | 140 ++++++++++++++++++++++++++++++----------------
1 files changed, 91 insertions(+), 49 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs
index dbce5ad..e019808 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs
@@ -17,18 +17,10 @@
/// <param name="common">Common.</param>
public void Changed(CommonDevice common)
{
- //if (common.Type != ZigBee.Device.DeviceType.OnOffSwitch)
- //{
- // return;
- //}
-
Shared.Application.RunOnMainThread(() =>
{
- //var dev = common as Panel;
});
}
-
-
/// 鏋勯�犲嚱鏁�
/// </summary>
/// <param name="doorLock"></param>
@@ -39,9 +31,68 @@
#region 鈼� 鍙橀噺鐢虫槑__________________________
ZigBee.Device.DoorLock doorLock;
- List<Shared.Phone.UserCenter.MemberInfoRes> localAccountList = new List<Shared.Phone.UserCenter.MemberInfoRes> { };
+ VerticalRefreshLayout midVerticalScrolViewLayout;
#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;
+
+ //鍒濆鍖栨潈闄愪俊鎭�
+ 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);
+ }
+ }
+
+ //鑾峰彇鏈湴闂ㄩ攣鍒楄〃
+ var list = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllAcountUserlist(doorLock);
+ 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();
+ });
+ }
+ });
+ }
+
+ /// <summary>
+ /// 鏄剧ず鐣岄潰
+ /// </summary>
public void Show()
{
this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.UserManagement));
@@ -56,7 +107,7 @@
var btnAddFrameLayout = new FrameLayout
{
- X = Application.GetRealWidth(829),
+ X = Application.GetRealWidth(829 - 116),
Height = Application.GetRealHeight(72),
Width = Application.GetRealWidth(190),
};
@@ -80,10 +131,14 @@
TextAlignment = TextAlignment.CenterLeft,
};
btnAddFrameLayout.AddChidren(btnUndistributeText);
-
+ if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+ {
+ btnUndistributeIcon.Width = 0;
+ btnUndistributeText.Width = 0;
+ }
EventHandler<MouseEventArgs> eHandler = (sender, e) =>
{
- var undistributeDoorlockUserPage = new Shared.Phone.UserCenter.DoorLock.UndistributeDoorlockUserPage(doorLock, localAccountList);
+ 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();
@@ -91,41 +146,35 @@
btnAddFrameLayout.MouseDownEventHandler += eHandler;
btnUndistributeText.MouseDownEventHandler += eHandler;
btnUndistributeIcon.MouseDownEventHandler += eHandler;
-
- MidFrameLayoutContent();
- }
-
- async void MidFrameLayoutContent()
- {
- List<Shared.Phone.UserCenter.MemberInfoRes> SubAccounList = null;
- if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2)
- {
- SubAccounList = await ZigBee.Device.DoorLock.GetSubAccountByDistributedMark();
- }
-
- var masterAccount = new Shared.Phone.UserCenter.MemberInfoRes();
- masterAccount.Account = Shared.Common.Config.Instance.Account;
- masterAccount.AccountType = Shared.Common.Config.Instance.AccountType;
- masterAccount.SubAccountDistributedMark = Shared.Common.Config.Instance.Guid;
- masterAccount.UserName = UserCenterResourse.UserInfo.UserName;
- localAccountList.Add(masterAccount);
- localAccountList.AddRange(SubAccounList);
-
- var bodyView = new VerticalScrolViewLayout()
+ midVerticalScrolViewLayout = new VerticalRefreshLayout()
{
};
- this.midFrameLayout.AddChidren(bodyView);
-
- doorLock.localAllAccountList = localAccountList;
- for (int i = 0; i < localAccountList.Count; i++)
+ this.midFrameLayout.AddChidren(midVerticalScrolViewLayout);
+ midVerticalScrolViewLayout.BeginHeaderRefreshingAction += () =>
{
- var currentAccount = localAccountList[i];
+ midVerticalScrolViewLayout.BeginHeaderRefreshing();
+
+ midVerticalScrolViewLayout.EndHeaderRefreshing();
+ };
+ CommonPage.Loading.Start("Loading...");
+ 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(161),
- BackgroundColor = Shared.Common.ZigbeeColor.Current.XMTopFrameLayout,
+ Height = Application.GetRealHeight(127 + 23),
+ BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite,
};
- bodyView.AddChidren(RowView);
+ midVerticalScrolViewLayout.AddChidren(RowView);
var btnText = new Button()
{
@@ -166,7 +215,7 @@
};
RowView.AddChidren(line2);
int currentIndex = i;
- if (currentIndex == localAccountList.Count - 1)
+ if (currentIndex == doorLock.localAllAccountList.Count - 1)
{
line2.Visible = false;
}
@@ -188,13 +237,6 @@
Shared.Phone.UserView.HomePage.Instance.AddChidren(masterManagementPage);
Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
masterManagementPage.Show();
- }
- else if (currentIndex == 3)
- {
- var userDoorLockPage = new UserDoorLockPage(doorLock, currentAccount);
- Shared.Phone.UserView.HomePage.Instance.AddChidren(userDoorLockPage);
- Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
- userDoorLockPage.Show();
}
else
{
--
Gitblit v1.8.0