old mode 100644
new mode 100755
| | |
| | | /// <summary> |
| | | /// 逻辑中是否有常开模式
|
| | | /// </summary> |
| | | private bool HaveLogicNormallyOpenMode = false;
|
| | | private bool haveLogicNormallyOpenMode = false;
|
| | | |
| | | /// <summary> |
| | | /// 门锁深度控制上报窗口是否弹出 |
| | | /// </summary> |
| | | public static bool canShowDialog = true; |
| | | |
| | | /// <summary> |
| | | /// 当前电量 |
| | | /// </summary> |
| | |
| | | /// <summary> |
| | | /// 中部布局中门锁名称显示 |
| | | /// </summary> |
| | | Button btnDoorLockTitle; |
| | | NormalViewControl btnDoorLockTitle; |
| | | /// <summary> |
| | | /// 分享 |
| | | /// </summary> |
| | |
| | | }; |
| | | this.midFrameLayout.AddChidren(midTopFrameLayout); |
| | | |
| | | //门锁标题 |
| | | btnDoorLockTitle = new Button() |
| | | { |
| | | Width = Application.GetRealWidth(250), |
| | | Height = Application.GetRealHeight(60), |
| | | X = Application.GetRealWidth(372), |
| | | Y = Application.GetRealHeight(46), |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, |
| | | TextSize = 15, |
| | | TextAlignment = TextAlignment.Center, |
| | | IsBold = true, |
| | | }; |
| | | //设备名称 |
| | | btnDoorLockTitle = new NormalViewControl(100, 60, true); |
| | | btnDoorLockTitle.Y = Application.GetRealHeight(46); |
| | | btnDoorLockTitle.TextSize = 15; |
| | | btnDoorLockTitle.IsBold = true; |
| | | btnDoorLockTitle.Text = Common.LocalDevice.Current.GetDeviceMacName(doorLock); |
| | | btnDoorLockTitle.Width = btnDoorLockTitle.GetRealWidthByText(); |
| | | btnDoorLockTitle.TextAlignment = TextAlignment.Center; |
| | | btnDoorLockTitle.Gravity = Gravity.CenterHorizontal; |
| | | midTopFrameLayout.AddChidren(btnDoorLockTitle); |
| | | |
| | | //记录 |
| | |
| | | {
|
| | | if (canOpenNormallyMode) |
| | | { |
| | | Application.RunOnMainThread(() => { NomallyOpenModeInvalidDialog(true); }); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | Action<bool> action = (obj) => |
| | | { |
| | | UpdateNomallyOpenStatus(); |
| | | }; |
| | | DoorLockCommonInfo.NomallyOpenModeInvalidDialog(doorLock, DoorLockCommonInfo.DoorLockMessType.ServicePush, haveLogicNormallyOpenMode, action); |
| | | }); |
| | | } |
| | | } |
| | | } |
| | |
| | | var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3,doorLock); |
| | | if (resTemp == 1) |
| | | { |
| | | HaveLogicNormallyOpenMode = true; |
| | | haveLogicNormallyOpenMode = true; |
| | | } |
| | | else if (resTemp == 0) |
| | | { |
| | | HaveLogicNormallyOpenMode = false; |
| | | haveLogicNormallyOpenMode = false; |
| | | } |
| | | }); |
| | | } |
| | |
| | | /// </summary> |
| | | public void ClickHandle() |
| | | { |
| | | |
| | | //门锁标题 |
| | | btnDoorLockTitle.Text = Common.LocalDevice.Current.GetDeviceMacName(doorLock); |
| | | |
| | |
| | | //设置 |
| | | EventHandler<MouseEventArgs> btnFuncSetHander = (sender, e) => |
| | | { |
| | | //打开其他界面时前移除【暂时不移除】 |
| | | //RemoveFromParent(); |
| | | |
| | | var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(currentRoom, doorLock); |
| | | Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting); |
| | | Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; |
| | | functionSetting.Show(); |
| | | |
| | | canShowDialog = false; |
| | | functionSetting.devicNameAction += (deviceRename) => |
| | | { |
| | | if (!string.IsNullOrEmpty(deviceRename)) |
| | |
| | | //历史记录 ---- stan |
| | | var form = new DeviceDoorLock.DoorLockHistoryLogForm(); |
| | | form.AddForm(this.doorLock.DeviceAddr); |
| | | canShowDialog = false; |
| | | }; |
| | | btnRecordFrameLayout.MouseDownEventHandler += handerRecord; |
| | | btnRecord.MouseDownEventHandler += handerRecord; |
| | |
| | | //开锁事件 |
| | | EventHandler<MouseEventArgs> hander1 = async (sender, e) => |
| | | { |
| | | canShowDialog = true; |
| | | if (doorLock.IsDoorLockNormallyMode) |
| | | { |
| | | if (canOpenNormallyMode)
|
| | | {
|
| | | NomallyOpenModeInvalidDialog(false);
|
| | | Application.RunOnMainThread(() => |
| | | { |
| | | Action<bool> action = (obj) => |
| | | { |
| | | UpdateNomallyOpenStatus(); |
| | | }; |
| | | DoorLockCommonInfo.NomallyOpenModeInvalidDialog(doorLock, DoorLockCommonInfo.DoorLockMessType.AppOperate, haveLogicNormallyOpenMode, action); |
| | | }); |
| | | } |
| | | else |
| | | { |
| | |
| | | //关锁事件 |
| | | EventHandler<MouseEventArgs> hander2 = (sender, e) => |
| | | { |
| | | canShowDialog = true; |
| | | if (canOpenNormallyMode) |
| | | { |
| | | if (doorLock.IsDoorLockNormallyMode) |
| | | { |
| | | NomallyOpenModeInvalidDialog(); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | Action<bool> action = (obj) => |
| | | { |
| | | UpdateNomallyOpenStatus(); |
| | | }; |
| | | DoorLockCommonInfo.NomallyOpenModeInvalidDialog(doorLock, DoorLockCommonInfo.DoorLockMessType.AppOperate, haveLogicNormallyOpenMode, action); |
| | | }); |
| | | } |
| | | } |
| | | else |
| | |
| | | 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._if = true; |
| | | addLogicPage.action += (w) => |
| | | { |
| | | doorLock.IsDoorLockNormallyMode = w; |
| | | ///留给徐梅用的
|
| | | UpdateNomallyOpenStatus(); |
| | | }
|
| | | 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();
|
| | | //返回按键清空当前逻辑定义的LogicAction |
| | | UserCenter.DoorLock.DoorLockCommonInfo.LogicAction = null; |
| | | }; |
| | | }; |
| | | HdlCheckLogic.Current.CheckSecondarySecurity(action); |
| | | |
| | | };
|
| | | HdlCheckLogic.Current.CheckSecondarySecurity(action);
|
| | | }
|
| | |
|
| | |
|
| | | } |
| | | |
| | | /// <summary> |
| | | /// 常开模式失效处理 |
| | | /// </summary> |
| | | public void NomallyOpenModeInvalidDialog(bool IsFromReport = false) |
| | | /// <summary>
|
| | | /// 常开模式失效处理
|
| | | /// </summary>
|
| | | private void NomallyOpenModeInvalidDialog(bool IsFromReport = false) |
| | | { |
| | | if (!canShowDialog) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | if (UserCenterResourse.UserInfo.AuthorityNo != 1) |
| | | { |
| | | this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate)); |
| | |
| | | string msg = Language.StringByID(R.MyInternationalizationString.NomallyModeIsCanceled).Replace("{0}", "\r\n"); |
| | | var confirm = Language.StringByID(R.MyInternationalizationString.SureCancel); |
| | | var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.NomallyOpenMode, msg, confirm); |
| | | if (HaveLogicNormallyOpenMode) |
| | | if (haveLogicNormallyOpenMode) |
| | | { |
| | | //有逻辑设置的弹窗 |
| | | alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.CancelNomallyOpenModeWithLogic, msg, confirm); |
| | |
| | | { |
| | | UpdateNomallyOpenStatus(); |
| | | }); |
| | | //删除已经失效的“常开模式”的逻辑 |
| | | if (HaveLogicNormallyOpenMode) |
| | | |
| | | if (haveLogicNormallyOpenMode) |
| | | { |
| | | var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3,doorLock); |
| | | //if (resTemp == 3) |
| | | //{ |
| | | // string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed); |
| | | // this.ShowTipMsg(msg0); |
| | | //} |
| | | //此处删除温居城的常开模式特殊逻辑 |
| | | var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock); |
| | | } |
| | | } |
| | | else |
| | |
| | | { |
| | | //上报“常开模式”已被取消 |
| | | Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); |
| | | //先删除已失效的“常开模式”的逻辑 |
| | | if (HaveLogicNormallyOpenMode) |
| | | |
| | | if (haveLogicNormallyOpenMode) |
| | | { |
| | | var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3,doorLock); |
| | | //if (resTemp == 3) |
| | | //{ |
| | | // string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed2); |
| | | // this.ShowTipMsg(msg0); |
| | | // return; |
| | | //} |
| | | //此处删除温居城的常开模式特殊逻辑 |
| | | var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock); |
| | | } |
| | | //app重新开启“常开模式” |
| | | var result = await doorLock.SetNormallyOpenModeFuncAsync(true); |
| | |
| | | UpdateNomallyOpenStatus(); |
| | | }); |
| | | |
| | | //删除已经失效的“常开模式”的逻辑 |
| | | if (HaveLogicNormallyOpenMode) |
| | | if (haveLogicNormallyOpenMode) |
| | | { |
| | | var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3,doorLock); |
| | | //if (resTemp == 3) |
| | | //{ |
| | | // string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed); |
| | | // this.ShowTipMsg(msg0); |
| | | //} |
| | | //此处删除温居城的常开模式特殊逻辑 |
| | | var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock); |
| | | } |
| | | } |
| | | else |
| | |
| | | { |
| | | UpdateNomallyOpenStatus(); |
| | | }); |
| | | //删除设置常开模式创建的逻辑 |
| | | if (HaveLogicNormallyOpenMode) |
| | | |
| | | if (haveLogicNormallyOpenMode) |
| | | { |
| | | var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3,doorLock); |
| | | //因为目前机制问题,逻辑经常失败,所以不提示,后期机制要改,重新做一个这个界面 |
| | | //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); |
| | | //} |
| | | //此处删除温居城的常开模式特殊逻辑 |
| | | var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock); |
| | | } |
| | | string msg2 = Language.StringByID(R.MyInternationalizationString.CloseNormallyOpenModeSuccess); |
| | | this.ShowTipMsg(msg2); |
| | |
| | | DoorLockCommonInfo.NormallyOpenModeInvalidTime = temp; |
| | | //默认创建常开模式的特殊逻辑 |
| | | var res = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock); |
| | | if (res==0) |
| | | if (res == 0) |
| | | { |
| | | //默认创建常开模式失败 |
| | | string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed); |