xm
2020-04-30 2eacb04ca1ec0ad20fda4186b59a9bce67004cb4
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
@@ -47,7 +47,7 @@
        /// </summary>
        bool canVolume = false;
        /// <summary>
        /// 保留上一次音量
        /// 是否支持常开
        /// </summary>
        bool canOpenNormallyMode = false;
        /// <summary>
@@ -605,15 +605,11 @@
                        {
                            return;
                        }
                        string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
                        if (doorLock.IsDoorLockNormallyMode.ContainsKey(key))
                        {
                            if (doorLock.IsDoorLockNormallyMode[key] == true)
                            {
                                if (canOpenNormallyMode)
                                {
                                    Application.RunOnMainThread(() => { NomallyOpenModeInvalidDialog(true); });
                                }
                        if (doorLock.IsDoorLockNormallyMode)
                        {
                            if (canOpenNormallyMode)
                            {
                                Application.RunOnMainThread(() => { NomallyOpenModeInvalidDialog(true); });
                            }
                        }
                    }
@@ -688,7 +684,7 @@
                            DoorLockCommonInfo.NormallyOpenModeValue(doorLock, tempRes);
                            Application.RunOnMainThread(async () =>
                            {
                                var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist();
                                var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(2);
                                if (resTemp == 1)
                                {
                                    HaveLogicNormallyOpenMode = true;
@@ -788,8 +784,9 @@
            //设置
            EventHandler<MouseEventArgs> btnFuncSetHander = (sender, e) =>
            {
                //打开其他界面时前移除
                RemoveFromParent();
                //打开其他界面时前移除【暂时不移除】
                //RemoveFromParent();
                var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(currentRoom, doorLock);
                Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting);
                Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
@@ -848,26 +845,17 @@
            //开锁事件
            EventHandler<MouseEventArgs> hander1 = async (sender, e) =>
            {
                string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
                if (doorLock.IsDoorLockNormallyMode.ContainsKey(key))
                if (doorLock.IsDoorLockNormallyMode)
                {
                    if (doorLock.IsDoorLockNormallyMode[key] == true)
                    if (canOpenNormallyMode)
                    {
                        if (canOpenNormallyMode)
                        {
                            NomallyOpenModeInvalidDialog(false);
                        }
                        else
                        {
                            OpenDoorLockHandle(progressButton, btnDoorLockPic, btnStatus);
                        }
                        NomallyOpenModeInvalidDialog(false);
                    }
                    else
                    {
                        OpenDoorLockHandle(progressButton, btnDoorLockPic, btnStatus);
                    }
                }
                }
                else
                {
                    OpenDoorLockHandle(progressButton, btnDoorLockPic, btnStatus);
@@ -885,13 +873,9 @@
            {
                if (canOpenNormallyMode)
                {
                    var key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
                    if (doorLock.IsDoorLockNormallyMode.ContainsKey(key))
                    if (doorLock.IsDoorLockNormallyMode)
                    {
                        if (doorLock.IsDoorLockNormallyMode[key] == true)
                        {
                            NomallyOpenModeInvalidDialog();
                        }
                        NomallyOpenModeInvalidDialog();
                    }
                }
                else
@@ -1040,6 +1024,35 @@
        /// </summary>
        private async void NomallyOpenDialog()
        {
            #region 后续版本
            //if (UserCenterResourse.UserInfo.AuthorityNo != 1)
            //{
            //    this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate));
            //    return;
            //}
            //if (!UserCenterResourse.AccountOption.DoorUnLockByRemote)
            //{
            //    SystemSecondAuthentication();
            //    return;
            //}
            //action = () =>
            //{
            //    //系统密码支持操作门锁后,调用温居城的界面【常开自动化】
            //    var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(currentRoom, doorLock);
            //    Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting);
            //    Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
            //    functionSetting.Show();
            //    functionSetting.aaaAction = () =>
            //   {
            //       UpdateNomallyOpenStatus();
            //   };
            //};
            //HdlCheckLogic.Current.CheckSecondarySecurity(action);
            #endregion
            #region 暂时版本 (最终去掉)
            if (!btnNormallyOpen.IsSelected)
            {
                if (UserCenterResourse.UserInfo.AuthorityNo != 1)
@@ -1095,6 +1108,7 @@
                            AlreadyOpenNormallyMode();
                        }
                    };
                };
                HdlCheckLogic.Current.CheckSecondarySecurity(action);
            }
@@ -1102,6 +1116,8 @@
            {
                NomallyOpenModeInvalidDialog();
            }
            #endregion
        }
        /// <summary>
@@ -1177,11 +1193,11 @@
                    var result = await doorLock.SetNormallyOpenModeFuncAsync(true);
                    if (result == null || result.defaultControlResponseData == null)
                    {
                        string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime);
                        this.ShowTipMsg(msg0);
                        DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false);
                        Application.RunOnMainThread(() =>
                        {
                            string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime);
                            this.ShowTipMsg(msg0);
                            DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false);
                            UpdateNomallyOpenStatus();
                        });
                        return;
@@ -1376,12 +1392,7 @@
                btnNormallyOpenFrameLayout.Width = Application.GetRealWidth(0);
                return;
            }
            string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
            if (!doorLock.IsDoorLockNormallyMode.ContainsKey(key))
            {
                return;
            }
            if (doorLock.IsDoorLockNormallyMode[key] == true)
            if (doorLock.IsDoorLockNormallyMode)
            {
                btnNormallyOpen.IsSelected = true;
                btnDoorLockPic.IsSelected = true;
@@ -1389,7 +1400,7 @@
                btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Current) + Language.StringByID(R.MyInternationalizationString.DoorLockOpen);
            }
            else if (doorLock.IsDoorLockNormallyMode[key] == false)
            else if (!doorLock.IsDoorLockNormallyMode)
            {
                btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Current) + Language.StringByID(R.MyInternationalizationString.CLose);
                btnDoorLockPic.IsSelected = false;
@@ -1478,6 +1489,7 @@
                CommonPage.Instance.IsDrawerLockMode = false;
            }
            ZbGateway.StatusList.Remove(this);
            DoorLockCommonInfo.LogicAction = null;
            base.RemoveFromParent();
        }
        #endregion