HDL Home App 第二版本 旧平台金堂用 正在使用
xm
2020-04-15 bff8993501334c4f3c5f902216fe03253be747f8
ZigbeeApp20200414/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
@@ -566,20 +566,6 @@
            diyImageVerticalSeekBar.OnProgressChangedEvent += (sender, e) =>
            {
                int curVolume = -1;
                //if (e == 0)
                //{
                //    curVolume = 0;
                //}
                //else if (e == 100)
                //{
                //    curVolume = 14;
                //}
                //else
                //{
                //    int comandValue = e;
                //    int comandValueTemp = (comandValue * 100) / (Convert.ToInt32(((float)100 / 15) * 100));
                //    curVolume = comandValueTemp;
                //}
                curVolume = e;
                currentVolume = curVolume;
                progressText.Text = e.ToString() + "%";
@@ -693,7 +679,15 @@
                            }
                            NormallyOpenModeValue(tempRes);
                            HaveLogicNormallyOpenMode = await Shared.Phone.Device.Logic.SkipView.Exist();
                            var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist();
                            if (resTemp == 1)
                            {
                                HaveLogicNormallyOpenMode = true;
                            }
                            else if (resTemp == 0)
                            {
                                HaveLogicNormallyOpenMode = false;
                            }
                            Application.RunOnMainThread(() =>
                            {
                                UpdateNomallyOpenStatus();
@@ -1090,6 +1084,9 @@
                        }
                        else
                        {
                            //添加App开启常开模式的历史记录
                            HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(this.doorLock, 9001, string.Empty);
                            //每次重新设置常开,默认时间都是12小时
                            DoorLockCommonInfo.NormallyOpenModeInvalidTime = 12;
                            NormallyOpenModeValue(true);
@@ -1103,9 +1100,14 @@
                            alertNomallyModeIsTurnOn.Show();
                            alertNomallyModeIsTurnOn.MsgControlClickEvent += async () =>
                            {
                                //默认创建特殊逻辑
                                DoorLockCommonInfo.NormallyOpenModeInvalidTime = 12;
                                Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock);
                                //默认创建常开模式的特殊逻辑
                                var res = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock);
                                if (!res)
                                {
                                    string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed);
                                    this.ShowTipMsg(msg0);
                                    return;
                                }
                            };
                            //点击自动化
@@ -1158,6 +1160,13 @@
                    //上报“常开模式”已被取消,app默认了“常开模式”被取消
                    NormallyOpenModeValue(false);
                    UpdateNomallyOpenStatus();
                    //删除已经失效的“常开模式”的逻辑
                    var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
                    if (resTemp == 3)
                    {
                        string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed);
                        this.ShowTipMsg(msg0);
                    }
                }
                else
                {
@@ -1170,8 +1179,17 @@
            {
                if (IsFromReport)
                {
                    //上报“常开模式”已被取消,app重新开启“常开模式”
                    //上报“常开模式”已被取消
                    Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
                    //先删除已失效的“常开模式”的逻辑
                    var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
                    if (resTemp == 3)
                    {
                        string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed);
                        this.ShowTipMsg(msg0);
                        return;
                    }
                    //app重新开启“常开模式”
                    var result = await doorLock.SetNormallyOpenModeFuncAsync(true);
                    if (result == null || result.defaultControlResponseData == null)
                    {
@@ -1194,6 +1212,15 @@
                        //保持“常开成功”
                        NormallyOpenModeValue(true);
                        UpdateNomallyOpenStatus();
                        //创建常开模式的特殊逻辑
                        var resu = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock);
                        if (!resu)
                        {
                            string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed);
                            this.ShowTipMsg(msg0);
                            return;
                        }
                        CommonPage.Loading.Hide();
                    }
                }
@@ -1211,6 +1238,14 @@
                    //上报门锁“常开模式”已经取消,现在app确认“常开模式”取消
                    NormallyOpenModeValue(false);
                    UpdateNomallyOpenStatus();
                    //删除已经失效的“常开模式”的逻辑
                    var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
                    if (resTemp == 3)
                    {
                        string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed);
                        this.ShowTipMsg(msg0);
                    }
                }
                else
                {
@@ -1230,13 +1265,26 @@
                        return;
                    }
                    else
                    {
                    {
                        //添加App开启常开模式的历史记录
                        HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(this.doorLock, 9002, string.Empty);
                        //app确认取消“常开模式”成功
                        NormallyOpenModeValue(false);
                        UpdateNomallyOpenStatus();
                        string msg2 = Language.StringByID(R.MyInternationalizationString.CloseNormallyOpenModeSuccess);
                        this.ShowTipMsg(msg2);
                        Shared.Phone.Device.Logic.SkipView.LockCloseLogic(doorLock);
                        //删除设置常开模式创建的逻辑
                        var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
                        if (resTemp == 3)
                        {
                            string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed);
                            this.ShowTipMsg(msg0);
                        }
                        else if (resTemp == 2)
                        {
                            string msg2 = Language.StringByID(R.MyInternationalizationString.CloseNormallyOpenModeSuccess);
                            this.ShowTipMsg(msg2);
                        }
                    }
                }
            };
@@ -1253,26 +1301,33 @@
            var alertTimeInValidSetting = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.InValid, msgTimeInValidSetting, timeConfrim);
            alertTimeInValidSetting.Show();
            alertTimeInValidSetting.InvalidTimeAction += (obj) =>
            {
                Regex rg = new Regex("^[0-9]+$");
                if (!rg.IsMatch(obj))
                {
                    //必须是数字
                    string msg0 = Language.StringByID(R.MyInternationalizationString.NormallyOpenModeInvalidTimeTip);
                    this.ShowTipMsg(msg0);
            alertTimeInValidSetting.InvalidTimeAction += async (obj) =>
             {
                 Regex rg = new Regex("^[0-9]+$");
                 if (!rg.IsMatch(obj))
                 {
                     //必须是数字
                     string msg0 = Language.StringByID(R.MyInternationalizationString.NormallyOpenModeInvalidTimeTip);
                     this.ShowTipMsg(msg0);
                    string msgTimeInValidSetting2 = Language.StringByID(R.MyInternationalizationString.DoorLockOpenAllTheTime);
                    var timeConfrim2 = Language.StringByID(R.MyInternationalizationString.Confrim);
                    var alertTimeInValidSetting2 = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.InValid, msgTimeInValidSetting2, timeConfrim2);
                    alertTimeInValidSetting2.Show();
                    return;
                }
                //常开模式失效时间设置成功
                var temp = int.Parse(obj);
                DoorLockCommonInfo.NormallyOpenModeInvalidTime = temp;
                Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock);
            };
                     string msgTimeInValidSetting2 = Language.StringByID(R.MyInternationalizationString.DoorLockOpenAllTheTime);
                     var timeConfrim2 = Language.StringByID(R.MyInternationalizationString.Confrim);
                     var alertTimeInValidSetting2 = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.InValid, msgTimeInValidSetting2, timeConfrim2);
                     alertTimeInValidSetting2.Show();
                     return;
                 }
                 //常开模式失效时间设置成功
                 var temp = int.Parse(obj);
                 DoorLockCommonInfo.NormallyOpenModeInvalidTime = temp;
                 //默认创建常开模式的特殊逻辑
                 var res = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock);
                 if (!res)
                 {
                     string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed);
                     this.ShowTipMsg(msg0);
                     return;
                 }
             };
        }
        /// <summary>
        /// 常开模式状态更新