xm
2020-04-29 07466c19110693e3e439a7d7c8ad0bc21d9b3287
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
@@ -11,6 +11,10 @@
    {
        #region  本地变量
        /// <summary>
        ///
        /// </summary>
        public static Action<bool> LogicAction = null;
        /// <summary>
        /// 网关(门锁)所在的时间
        /// </summary>
        public static DateTime DoorlockZoneTime = DateTime.Now;
@@ -154,6 +158,11 @@
            else
            {
                doorLock.IsDoorLockNormallyMode.Add(key, value);
            }
            if (LogicAction != null)
            {
                LogicAction(value);
            }
        }
@@ -406,6 +415,27 @@
            alert.ConfirmClickEvent += async () =>
            {
                NomallyOpenModeInvalidTimeDialog(doorLock, action);
            };
        }
        /// <summary>
        /// 常开模式失效时间处理【弹窗】
        /// </summary>
        public static async void NomallyOpenModeInvalidTimeDialog(ZigBee.Device.DoorLock doorLock, Action action)
        {
            //失效设置
            string msgTimeInValidSetting = Language.StringByID(R.MyInternationalizationString.DoorLockOpenAllTheTime);
            var timeConfrim = Language.StringByID(R.MyInternationalizationString.Confrim);
            var alertTimeInValidSetting = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.InValid, msgTimeInValidSetting, timeConfrim);
            alertTimeInValidSetting.Show();
            alertTimeInValidSetting.InvalidTimeAction += async (obj) =>
            {
                //常开模式失效时间设置成功
                var temp = int.Parse(obj);
                DoorLockCommonInfo.NormallyOpenModeInvalidTime = temp;
                Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
                var result = await doorLock.SetNormallyOpenModeFuncAsync(true);
                if (result == null || result.defaultControlResponseData == null)
@@ -436,43 +466,24 @@
                    action?.Invoke();
                    Application.RunOnMainThread(() =>
                    {
                        NomallyOpenModeInvalidTimeDialog(doorLock);
                        CommonPage.Loading.Hide();
                    });
                }
            };
        }
        /// <summary>
        /// 常开模式失效时间处理【弹窗】
        /// </summary>
        public static async void NomallyOpenModeInvalidTimeDialog(ZigBee.Device.DoorLock doorLock)
        {
            //失效设置
            string msgTimeInValidSetting = Language.StringByID(R.MyInternationalizationString.DoorLockOpenAllTheTime);
            var timeConfrim = Language.StringByID(R.MyInternationalizationString.Confrim);
            var alertTimeInValidSetting = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.InValid, msgTimeInValidSetting, timeConfrim);
            alertTimeInValidSetting.Show();
            alertTimeInValidSetting.InvalidTimeAction += async (obj) =>
            {
                //常开模式失效时间设置成功
                var temp = int.Parse(obj);
                DoorLockCommonInfo.NormallyOpenModeInvalidTime = temp;
                //默认创建常开模式的特殊逻辑 
                var res = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock);
                if (!res)
                {
                    Application.RunOnMainThread(() =>
                    {
                        //默认创建常开模式失败
                        string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed);
                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal, msg0, Language.StringByID(R.MyInternationalizationString.confrim));
                        alert.Show();
                        //二次加载弹窗 常开模式开启提示
                        NomallyOpenModeInvalidTimeDialog(doorLock);
                    });
                }
                //if (!res)
                //{
                //    Application.RunOnMainThread(() =>
                //    {
                //        //默认创建常开模式失败
                //        string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed);
                //        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal, msg0, Language.StringByID(R.MyInternationalizationString.confrim));
                //        alert.Show();
                //        //二次加载弹窗 常开模式开启提示
                //        NomallyOpenModeInvalidTimeDialog(doorLock, action);
                //    });
                //}
            };
        }
        #endregion