黄学彪
2020-05-21 98ceb6bd2021f9ff136cda27eef28676dd7b5d92
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
@@ -15,6 +15,10 @@
        /// </summary>
        public static Action<bool> LogicAction = null;
        /// <summary>
        /// 更新当前门锁涉及的状态【主要用于门锁操作常开模式的回调】
        /// </summary>
        public static Action<string, bool> UpdateCurrentDoorlockAction = null;
        /// <summary>
        /// 网关(门锁)所在的时间
        /// </summary>
        public static DateTime DoorlockZoneTime = DateTime.Now;
@@ -151,11 +155,6 @@
        public static void NormallyOpenModeValue(ZigBee.Device.DoorLock doorLock, bool value)
        {
            doorLock.IsDoorLockNormallyMode = value;
            if (LogicAction != null)
            {
                LogicAction(value);
            }
        }
        /// <summary>
@@ -196,10 +195,14 @@
                {
                    //上报“常开模式”已被取消,app默认了“常开模式”被取消 
                    DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false);
                    if (LogicAction != null)
                    {
                        LogicAction(false);
                    }
                    if (haveLogic)
                    {
                        //此处删除温居城的常开模式特殊逻辑
                        var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll();
                        var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock);
                    }
                }
                else
@@ -218,12 +221,6 @@
                    //上报“常开模式”已被取消
                    Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
                    if (haveLogic)
                    {
                        //此处删除温居城的常开模式特殊逻辑
                        var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll();
                    }
                    //app重新开启“常开模式”
                    var result = await doorLock.SetNormallyOpenModeFuncAsync(true);
                    if (result == null || result.defaultControlResponseData == null)
@@ -237,6 +234,10 @@
                        });
                        action?.Invoke(doorLock.IsDoorLockNormallyMode);
                        action = null;
                        if (LogicAction != null)
                        {
                            LogicAction(false);
                        }
                        return;
                    }
                    if (result.defaultControlResponseData.status != 0)
@@ -248,20 +249,27 @@
                            NormallyOpenModeValue(doorLock, false);
                            CommonPage.Loading.Hide();
                        });
                        action?.Invoke(doorLock.IsDoorLockNormallyMode);
                        action = null;
                        if (LogicAction != null)
                        {
                            LogicAction(false);
                        }
                        return;
                    }
                    else
                    {
                        //创建常开模式的特殊逻辑
                        var resu = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock);
                        Application.RunOnMainThread(() =>
                        {
                            string msg0 = Language.StringByID(R.MyInternationalizationString.OpenNormallyOpenModeSuccess);
                            ShowTipMsg(msg0);
                            NormallyOpenModeValue(doorLock, true);
                            CommonPage.Loading.Hide();
                            if (LogicAction != null)
                            {
                                LogicAction(true);
                            }
                        });
                    }
                }
@@ -279,10 +287,14 @@
                if (doorLockMessType == DoorLockMessType.DeviceReport || doorLockMessType == DoorLockMessType.ServicePush)
                {
                    NormallyOpenModeValue(doorLock, false);
                    if (LogicAction != null)
                    {
                        LogicAction(false);
                    }
                    if (haveLogic)
                    {
                        //此处删除温居城的常开模式特殊逻辑
                        var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll();
                        var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock);
                    }
                }
                else
@@ -299,6 +311,10 @@
                        });
                        action?.Invoke(doorLock.IsDoorLockNormallyMode);
                        action = null;
                        if (LogicAction != null)
                        {
                            LogicAction(false);
                        }
                        return;
                    }
                    if (result.defaultControlResponseData.status != 0)
@@ -311,6 +327,10 @@
                        });
                        action?.Invoke(doorLock.IsDoorLockNormallyMode);
                        action = null;
                        if (LogicAction != null)
                        {
                            LogicAction(false);
                        }
                        return;
                    }
                    else
@@ -323,7 +343,7 @@
                        if (haveLogic)
                        {
                            //此处删除温居城的常开模式特殊逻辑
                            var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll();
                            var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock);
                        }
                        Application.RunOnMainThread(() =>
                        {
@@ -331,6 +351,10 @@
                            ShowTipMsg(msg2);
                            CommonPage.Loading.Hide();
                        });
                        if (LogicAction != null)
                        {
                            LogicAction(false);
                        }
                    }
                }
                action?.Invoke(doorLock.IsDoorLockNormallyMode);