黄学彪
2019-11-07 82a773d1783549caca563831aac8affc059deedf
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs
@@ -27,8 +27,6 @@
                //var dev = common as Panel;
            });
        }
        /// 构造函数
        /// </summary>
        /// <param name="doorLock"></param>
@@ -39,8 +37,58 @@
        #region ◆ 变量申明__________________________
        ZigBee.Device.DoorLock doorLock;
        List<Shared.Phone.UserCenter.MemberInfoRes> localAccountList = new List<Shared.Phone.UserCenter.MemberInfoRes> { };
        VerticalScrolViewLayout midVerticalScrolViewLayout;
        #endregion
        void ReadAccountList()
        {
            System.Threading.Tasks.Task.Run(async () =>
            {
                Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); });
                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);
                            }
                        }
                        doorLock.ReSave();
                    }
                    else
                    {
                        Application.RunOnMainThread(() =>
                        {
                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
                        });
                    }
                }
                catch { }
                finally
                {
                    Application.RunOnMainThread(() =>
                    {
                        MidFrameLayoutContent();
                        CommonPage.Loading.Hide();
                    });
                }
            });
        }
        public void Show()
        {
@@ -83,7 +131,7 @@
            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 +139,26 @@
            btnAddFrameLayout.MouseDownEventHandler += eHandler;
            btnUndistributeText.MouseDownEventHandler += eHandler;
            btnUndistributeIcon.MouseDownEventHandler += eHandler;
            MidFrameLayoutContent();
            midVerticalScrolViewLayout = new VerticalScrolViewLayout()
            {
            };
            this.midFrameLayout.AddChidren(midVerticalScrolViewLayout);
            ReadAccountList();
            // MidFrameLayoutContent();
        }
        async void MidFrameLayoutContent()
        {
            List<Shared.Phone.UserCenter.MemberInfoRes> SubAccounList = null;
            if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2)
            midVerticalScrolViewLayout.RemoveAll();
            for (int i = 0; i < doorLock.localAllAccountList.Count; i++)
            {
                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()
            {
            };
            this.midFrameLayout.AddChidren(bodyView);
            doorLock.localAllAccountList = localAccountList;
            for (int i = 0; i < localAccountList.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,
                };
                bodyView.AddChidren(RowView);
                midVerticalScrolViewLayout.AddChidren(RowView);
                var btnText = new Button()
                {
@@ -166,7 +199,7 @@
                };
                RowView.AddChidren(line2);
                int currentIndex = i;
                if (currentIndex == localAccountList.Count - 1)
                if (currentIndex == doorLock.localAllAccountList.Count - 1)
                {
                    line2.Visible = false;
                }
@@ -190,7 +223,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;