From 4f0ab0ad21ce450b7856d50f98322a7899361386 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期二, 22 九月 2020 10:30:01 +0800
Subject: [PATCH] 不要下载这个备份
---
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs | 176 +++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 112 insertions(+), 64 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs
index 331c95f..25bdf6f 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs
@@ -9,39 +9,92 @@
/// <summary>
/// 闂ㄩ攣绠$悊
/// </summary>
- public class UserManagement : DoorLockCommonLayout, ZigBee.Common.IStatus
+ public class UserManagement : DoorLockCommonLayout
{
- /// <summary>
- /// 鎸夐敭妯″紡鎺ユ敹
- /// </summary>
- /// <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>
public UserManagement(ZigBee.Device.DoorLock doorLock)
{
this.doorLock = doorLock;
+ localAllAccountListTemp = doorLock.localAllAccountList;
+ localDoorLockUserListTemp = doorLock.localDoorLockUserList;
}
#region 鈼� 鍙橀噺鐢虫槑__________________________
ZigBee.Device.DoorLock doorLock;
- List<Shared.Phone.UserCenter.MemberInfoRes> localAccountList = new List<Shared.Phone.UserCenter.MemberInfoRes> { };
+ 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));
@@ -56,7 +109,7 @@
var btnAddFrameLayout = new FrameLayout
{
- X = Application.GetRealWidth(829),
+ X = Application.GetRealWidth(829 - 116),
Height = Application.GetRealHeight(72),
Width = Application.GetRealWidth(190),
};
@@ -73,17 +126,24 @@
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);
-
+ 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, 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,48 +151,48 @@
btnAddFrameLayout.MouseDownEventHandler += eHandler;
btnUndistributeText.MouseDownEventHandler += eHandler;
btnUndistributeIcon.MouseDownEventHandler += eHandler;
+ midVerticalScrolViewLayout = new VerticalRefreshLayout() { };
+ this.midFrameLayout.AddChidren(midVerticalScrolViewLayout);
- MidFrameLayoutContent();
- }
-
- async void MidFrameLayoutContent()
- {
- List<Shared.Phone.UserCenter.MemberInfoRes> SubAccounList = null;
- if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2)
+ if (localAllAccountListTemp.Count == 0)
{
- SubAccounList = await ZigBee.Device.DoorLock.GetSubAccountByDistributedMark();
+ CommonPage.Loading.Start("Loading...");
+ ReadAccountDoorLockInfoList();
+ }
+ else
+ {
+ MidFrameLayoutContent();
}
- 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.BeginHeaderRefreshingAction += () =>
{
+ midVerticalScrolViewLayout.BeginHeaderRefreshing();
+ ReadAccountDoorLockInfoList();
};
- this.midFrameLayout.AddChidren(bodyView);
+ }
- doorLock.localAllAccountList = localAccountList;
- for (int i = 0; i < localAccountList.Count; i++)
+ /// <summary>
+ /// 涓儴甯冨眬鏄剧ず
+ /// </summary>
+ async void MidFrameLayoutContent()
+ {
+ midVerticalScrolViewLayout.RemoveAll();
+ for (int i = 0; i < doorLock.localAllAccountList.Count; i++)
{
- var currentAccount = localAccountList[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()
{
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,
};
@@ -166,12 +226,12 @@
};
RowView.AddChidren(line2);
int currentIndex = i;
- if (currentIndex == localAccountList.Count - 1)
+ if (currentIndex == doorLock.localAllAccountList.Count - 1)
{
line2.Visible = false;
}
- if (currentAccount.UserName != null)
+ if (!string.IsNullOrEmpty(currentAccount.UserName))
{
btnText.Text = currentAccount.UserName;
}
@@ -190,7 +250,7 @@
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;
@@ -201,18 +261,6 @@
RowView.MouseUpEventHandler += eHandler;
btnText.MouseUpEventHandler += eHandler;
}
- }
-
- public void DeviceInfoChange(CommonDevice common, string typeTag)
- {
- }
-
- public void ChangedILogicStatus(ZigBee.Device.Logic logic)
- {
- }
-
- public void ChangedISceneStatus(Scene scene)
- {
}
}
}
--
Gitblit v1.8.0