陈嘉乐
2020-05-18 5da99fed2eb0d08b6338064da5f998891252c7b8
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
@@ -218,7 +218,7 @@
            ClickHandle();
            if (doorLock.IsOnline == 1)
            if (Common.LocalDevice.Current.CheckDeviceIsOnline(doorLock) == true)
            {
                ReadDoorLockUserInfo();
            }
@@ -605,15 +605,11 @@
                        {
                            return;
                        }
                        string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
                        if (doorLock.IsDoorLockNormallyMode.ContainsKey(key))
                        if (doorLock.IsDoorLockNormallyMode)
                        {
                            if (doorLock.IsDoorLockNormallyMode[key] == true)
                            {
                                if (canOpenNormallyMode)
                                {
                                    Application.RunOnMainThread(() => { NomallyOpenModeInvalidDialog(true); });
                                }
                            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(2);
                                var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3,doorLock);
                                if (resTemp == 1)
                                {
                                    HaveLogicNormallyOpenMode = true;
@@ -774,6 +770,7 @@
        /// </summary>
        public void ClickHandle()
        {
            //门锁标题
            btnDoorLockTitle.Text = Common.LocalDevice.Current.GetDeviceMacName(doorLock);
@@ -849,20 +846,11 @@
            //开锁事件
            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)
                        {
                            NomallyOpenModeInvalidDialog(false);
                        }
                        else
                        {
                            OpenDoorLockHandle(progressButton, btnDoorLockPic, btnStatus);
                        }
                    if (canOpenNormallyMode)
                    {
                        NomallyOpenModeInvalidDialog(false);
                    }
                    else
                    {
@@ -886,13 +874,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
@@ -1041,8 +1025,6 @@
        /// </summary>
        private async void NomallyOpenDialog()
        {
            #region 后续版本
            if (UserCenterResourse.UserInfo.AuthorityNo != 1)
            {
                this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate));
@@ -1057,18 +1039,36 @@
            action = () =>
            {
                Shared.Phone.Device.Logic.SkipView.SkipAddLogic(2, doorLock);
                //系统密码支持操作门锁后,调用温居城的界面【常开自动化】
               // functionSetting.aaaAction = () =>
               //{
               //    UpdateNomallyOpenStatus();
               //};
            };
            HdlCheckLogic.Current.CheckSecondarySecurity(action);
            #endregion
                if (doorLock == null)
                {
                    ///防止抛异常
                    return;
                }
                ///备注:WJC的
                Shared.Phone.Device.Logic.Send.CurrentDoorLock = doorLock;
                ///进来刷新一次设备列表;
                Common.Logic.LogicDviceList.Clear();
                if (Common.Logic.LogicDviceList.Count == 0)
                {
                    Common.Logic.LogicDviceList.AddRange(LocalDevice.Current.listAllDevice.ToArray());
                }
                var addLogicPage = new Shared.Phone.Device.Logic.SoneLogicList();
                UserView.HomePage.Instance.AddChidren(addLogicPage);
                UserView.HomePage.Instance.PageIndex += 1;
                addLogicPage.Show();
                addLogicPage.action += (w) =>
                {
                    doorLock.IsDoorLockNormallyMode = w;
                    ///留给徐梅用的
                    UpdateNomallyOpenStatus();
                };
            };
            HdlCheckLogic.Current.CheckSecondarySecurity(action);
        }
        /// <summary>
@@ -1104,7 +1104,7 @@
                    //删除已经失效的“常开模式”的逻辑
                    if (HaveLogicNormallyOpenMode)
                    {
                        var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
                        var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3,doorLock);
                        //if (resTemp == 3)
                        //{
                        //    string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed);
@@ -1132,7 +1132,7 @@
                    //先删除已失效的“常开模式”的逻辑
                    if (HaveLogicNormallyOpenMode)
                    {
                        var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
                        var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3,doorLock);
                        //if (resTemp == 3)
                        //{
                        //    string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed2);
@@ -1209,7 +1209,7 @@
                    //删除已经失效的“常开模式”的逻辑
                    if (HaveLogicNormallyOpenMode)
                    {
                        var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
                        var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3,doorLock);
                        //if (resTemp == 3)
                        //{
                        //    string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed);
@@ -1248,7 +1248,7 @@
                        //删除设置常开模式创建的逻辑
                        if (HaveLogicNormallyOpenMode)
                        {
                            var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
                            var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3,doorLock);
                            //因为目前机制问题,逻辑经常失败,所以不提示,后期机制要改,重新做一个这个界面
                            //if (resTemp == 3)
                            //{
@@ -1321,7 +1321,7 @@
                 DoorLockCommonInfo.NormallyOpenModeInvalidTime = temp;
                 //默认创建常开模式的特殊逻辑 
                 var res = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock);
                 if (!res)
                 if (res==0)
                 {
                     //默认创建常开模式失败
                     string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed);
@@ -1343,12 +1343,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;
@@ -1356,7 +1351,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;
@@ -1445,6 +1440,7 @@
                CommonPage.Instance.IsDrawerLockMode = false;
            }
            ZbGateway.StatusList.Remove(this);
            DoorLockCommonInfo.LogicAction = null;
            base.RemoveFromParent();
        }
        #endregion