gxc
2020-02-28 66a9965c44ecc32a6696abca876ab9d1cd091584
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;
                }