| | |
| | | /// </summary> |
| | | public static Action<bool> LogicAction = null; |
| | | /// <summary> |
| | | /// 更新当前门锁涉及的状态【主要用于门锁操作常开模式的回调】 |
| | | /// </summary> |
| | | public static Action<string, bool> UpdateCurrentDoorlockAction = null; |
| | | /// <summary> |
| | | /// 网关(门锁)所在的时间 |
| | | /// </summary> |
| | | public static DateTime DoorlockZoneTime = DateTime.Now; |
| | |
| | | public static void NormallyOpenModeValue(ZigBee.Device.DoorLock doorLock, bool value) |
| | | { |
| | | doorLock.IsDoorLockNormallyMode = value; |
| | | |
| | | if (LogicAction != null) |
| | | { |
| | | LogicAction(value); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | { |
| | | //上报“常开模式”已被取消,app默认了“常开模式”被取消 |
| | | DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); |
| | | if (LogicAction != null) |
| | | { |
| | | LogicAction(false); |
| | | } |
| | | if (haveLogic) |
| | | { |
| | | //此处删除温居城的常开模式特殊逻辑 |
| | | var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock); |
| | | } |
| | | } |
| | | else |
| | | { |
| | |
| | | //上报“常开模式”已被取消 |
| | | Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); |
| | | |
| | | //温居城方法??? |
| | | //此处是否要删除温居城的特殊逻辑 |
| | | |
| | | //app重新开启“常开模式” |
| | | var result = await doorLock.SetNormallyOpenModeFuncAsync(true); |
| | | if (result == null || result.defaultControlResponseData == null) |
| | |
| | | }); |
| | | action?.Invoke(doorLock.IsDoorLockNormallyMode); |
| | | action = null; |
| | | if (LogicAction != null) |
| | | { |
| | | LogicAction(false); |
| | | } |
| | | return; |
| | | } |
| | | if (result.defaultControlResponseData.status != 0) |
| | |
| | | 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); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | |
| | | 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 |
| | |
| | | }); |
| | | action?.Invoke(doorLock.IsDoorLockNormallyMode); |
| | | action = null; |
| | | if (LogicAction != null) |
| | | { |
| | | LogicAction(false); |
| | | } |
| | | return; |
| | | } |
| | | if (result.defaultControlResponseData.status != 0) |
| | |
| | | }); |
| | | action?.Invoke(doorLock.IsDoorLockNormallyMode); |
| | | action = null; |
| | | if (LogicAction != null) |
| | | { |
| | | LogicAction(false); |
| | | } |
| | | return; |
| | | } |
| | | else |
| | |
| | | //删除设置常开模式创建的逻辑 |
| | | if (haveLogic) |
| | | { |
| | | var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(); |
| | | //温居城方法??? |
| | | //此处是否要删除温居城的特殊逻辑 |
| | | //此处删除温居城的常开模式特殊逻辑 |
| | | var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock); |
| | | } |
| | | Application.RunOnMainThread(() => |
| | | { |
| | |
| | | ShowTipMsg(msg2); |
| | | CommonPage.Loading.Hide(); |
| | | }); |
| | | if (LogicAction != null) |
| | | { |
| | | LogicAction(false); |
| | | } |
| | | } |
| | | } |
| | | action?.Invoke(doorLock.IsDoorLockNormallyMode); |