| | |
| | | { |
| | | case 0: |
| | | { |
| | | |
| | | //new一个新逻辑对象; |
| | | //新增正常自动化入口 |
| | | Common.Logic.CurrentLogic = new Common.Logic(); |
| | |
| | | UserView.HomePage.Instance.AddChidren(addLogicPage); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | addLogicPage.Show(); |
| | | |
| | | } |
| | | break; |
| | | case 1: |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | #region ◆ 自动化__________________________ |
| | | /// <summary> |
| | | /// 自动化功能代码入口 |
| | |
| | | /// </summary> |
| | | public static async System.Threading.Tasks.Task<int> Exist(int valueInt, ZigBee.Device.DoorLock doorLock) |
| | | { |
| | | |
| | | int exist = 0; |
| | | var Idlist = await Send.GetLogicId(valueInt); |
| | | if (Idlist.Count != 0) |
| | | var IdList = await Send.GetLogicId(valueInt); |
| | | if (IdList.Count != 0) |
| | | { |
| | | //默认取第一个逻辑ID |
| | | var id = Idlist[0]; |
| | | if (valueInt != 3) |
| | | for (int i = 0; i < IdList.Count; i++) |
| | | { |
| | | exist = id; |
| | | } |
| | | else |
| | | { |
| | | var logic = await Send.GetLogic(id, 3); |
| | | var id = IdList[i]; |
| | | var logic = await Send.GetLogic(id, valueInt); |
| | | if (logic != null) |
| | | { |
| | | if (ExistLogic(logic, doorLock)) |
| | | { |
| | | exist = id; |
| | | } |
| | | else |
| | | { |
| | | exist = 0; |
| | | ///找到退出 |
| | | break; |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | return exist; |
| | | } |
| | | |
| | | ///<summary> |
| | | ///获取门锁逻辑信息 |
| | | ///获取门锁时效性逻辑信息 |
| | | /// 返回值:null不存在;其它值都存在; |
| | | /// </summary> |
| | | public static async System.Threading.Tasks.Task<Common.Logic> GetLogicIfon(ZigBee.Device.DoorLock doorLock) |
| | |
| | | ///删除该门锁所有时效性自动化 |
| | | /// 返回值:true成功;false失败; |
| | | /// </summary> |
| | | public static async System.Threading.Tasks.Task<bool> GetLogicAll(ZigBee.Device.DoorLock doorLock) |
| | | public static async System.Threading.Tasks.Task<bool> DelAllLogic(ZigBee.Device.DoorLock doorLock) |
| | | { |
| | | bool _if = false; |
| | | var Idlist = await Send.GetLogicId(3); |
| | | if (Idlist.Count != 0) |
| | | { |
| | | _if = true; |
| | | |
| | | for (int i = 0; i < Idlist.Count; i++) |
| | | { |
| | | int id = Idlist[i]; |
| | |
| | | { |
| | | //本来只有一条时效性自动化, |
| | | //防止特殊情况,找到就删除掉; |
| | | //var valueInt = await Send.DelLogic(id); |
| | | //if (valueInt == 0) |
| | | //{ |
| | | // _if = true; |
| | | //} |
| | | //(考虑性能默认删除成功,直接返回成功结果true) |
| | | _if = true; |
| | | Send.DelLogic(id); |
| | | |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | for (int j = 0; j < logic.Accounts.Count; j++) |
| | | { |
| | | //Option4是设备mac;Option2是设备端口; |
| | | //Option4是设备mac; |
| | | if (logic.Accounts[j]["Option4"].ToString() == doorLock.DeviceAddr) |
| | | { |
| | | //查找是否是那个门锁; |