黄学彪
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,6 +195,15 @@
                {
                    //上报“常开模式”已被取消,app默认了“常开模式”被取消 
                    DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false);
                    if (LogicAction != null)
                    {
                        LogicAction(false);
                    }
                    if (haveLogic)
                    {
                        //此处删除温居城的常开模式特殊逻辑
                        var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock);
                    }
                }
                else
                {
@@ -213,9 +221,6 @@
                    //上报“常开模式”已被取消
                    Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
                    //温居城方法???
                    //此处是否要删除温居城的特殊逻辑
                    //app重新开启“常开模式”
                    var result = await doorLock.SetNormallyOpenModeFuncAsync(true);
                    if (result == null || result.defaultControlResponseData == null)
@@ -229,6 +234,10 @@
                        });
                        action?.Invoke(doorLock.IsDoorLockNormallyMode);
                        action = null;
                        if (LogicAction != null)
                        {
                            LogicAction(false);
                        }
                        return;
                    }
                    if (result.defaultControlResponseData.status != 0)
@@ -240,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);
                            }
                        });
                    }
                }
@@ -271,11 +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
@@ -292,6 +311,10 @@
                        });
                        action?.Invoke(doorLock.IsDoorLockNormallyMode);
                        action = null;
                        if (LogicAction != null)
                        {
                            LogicAction(false);
                        }
                        return;
                    }
                    if (result.defaultControlResponseData.status != 0)
@@ -304,6 +327,10 @@
                        });
                        action?.Invoke(doorLock.IsDoorLockNormallyMode);
                        action = null;
                        if (LogicAction != null)
                        {
                            LogicAction(false);
                        }
                        return;
                    }
                    else
@@ -315,9 +342,8 @@
                        //删除设置常开模式创建的逻辑
                        if (haveLogic)
                        {
                            var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll();
                            //温居城方法???
                            //此处是否要删除温居城的特殊逻辑
                            //此处删除温居城的常开模式特殊逻辑
                            var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock);
                        }
                        Application.RunOnMainThread(() =>
                        {
@@ -325,6 +351,10 @@
                            ShowTipMsg(msg2);
                            CommonPage.Loading.Hide();
                        });
                        if (LogicAction != null)
                        {
                            LogicAction(false);
                        }
                    }
                }
                action?.Invoke(doorLock.IsDoorLockNormallyMode);