| | |
| | | /// </summary> |
| | | public async System.Threading.Tasks.Task<AddedDeviceBindResponseAllData> AddDeviceBindAsync(AddBindData addBindData) |
| | | { |
| | | |
| | | return await System.Threading.Tasks.Task.Run(async () => |
| | | { |
| | | var result = new AddedDeviceBindResponseAllData(); |
| | |
| | | { |
| | | var dInfo = new JObject{ |
| | | { "BindMacAddr",bindInfo.BindMacAddr}, |
| | | { "BindEpoint", bindInfo.BindEpoint} , |
| | | { "BindCluster", bindInfo.BindCluster} , |
| | | { "BindType",bindInfo.BindType} |
| | | { "BindEpoint", bindInfo.BindEpoint} , |
| | | { "BindCluster", bindInfo.BindCluster} , |
| | | { "BindType",bindInfo.BindType} |
| | | }; |
| | | bindList.Add(dInfo); |
| | | } |
| | |
| | | { |
| | | var dInfo = new JObject{ |
| | | { "BindCluster", bindInfo.BindCluster} , |
| | | { "BindType",bindInfo.BindType}, |
| | | { "BindScenesId", bindInfo.BindScenesId} |
| | | { "BindType",bindInfo.BindType}, |
| | | { "BindScenesId", bindInfo.BindScenesId} |
| | | }; |
| | | bindList.Add(dInfo); |
| | | } |
| | | } |
| | | var data = new JObject{ |
| | | {"BindName",addBindData.BindName}, |
| | | { "BindList", bindList } |
| | | {"BindName",addBindData.BindName}, |
| | | { "BindList", bindList } |
| | | }; |
| | | jObject.Add("Data", data); |
| | | //ZbGateway.MainGateWay.CurrentGateWayId = ZbGateway.MainGateWay.getGatewayBaseInfo?.gwID; |
| | |
| | | { |
| | | continue; |
| | | } |
| | | if (0 < result.addedDeviceBindResponseData.BindList.FindAll((obj) => obj.BindType == 0 && obj.Result == 2).Count) |
| | | if (0 < result.addedDeviceBindResponseData.BindList.FindAll((obj) => obj.BindType == 0 && obj.Result == 1).Count) |
| | | { |
| | | if (result.addBindResultResponseData != null) |
| | | { |
| | | break; |
| | | } |
| | | } |
| | | else if (0 < result.addedDeviceBindResponseData.BindList.FindAll((obj) => obj.BindType == 0 && obj.Result == 2).Count) |
| | | { |
| | | if (result.addBindResultResponseData != null) |
| | | { |
| | | break; |
| | | } |
| | | } |
| | | else if (0 < result.addedDeviceBindResponseData.BindList.FindAll((obj) => obj.BindType == 0 && obj.Result == 3).Count) |
| | | { |
| | | if (result.addBindResultResponseData != null) |
| | | { |
| | |
| | | } |
| | | catch { } |
| | | |
| | | |
| | | var dateTime = DateTime.Now; |
| | | while ((DateTime.Now - dateTime).TotalMilliseconds < WaitReceiveDataTime) |
| | | { |
| | |
| | | { |
| | | continue; |
| | | } |
| | | if (0 < responseData.delDeviceBindResponseData.RemoveBindList.FindAll((obj) => obj.BindType == 0 && obj.Result == 3).Count) |
| | | if (0 < responseData.delDeviceBindResponseData.RemoveBindList.FindAll((obj) => obj.BindType == 0 && obj.Result == 1).Count) |
| | | { |
| | | if (responseData.removeBindResultResponseData != null) |
| | | { |
| | | break; |
| | | } |
| | | } |
| | | else if (0 < responseData.delDeviceBindResponseData.RemoveBindList.FindAll((obj) => obj.BindType == 0 && obj.Result == 3).Count) |
| | | { |
| | | if (responseData.removeBindResultResponseData != null) |
| | | { |
| | | break; |
| | | } |
| | | } |
| | | else if (0 < responseData.delDeviceBindResponseData.RemoveBindList.FindAll((obj) => obj.BindType == 0 && obj.Result == 4).Count) |
| | | { |
| | | if (responseData.removeBindResultResponseData != null) |
| | | { |
| | |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if ((DateTime.Now - dateTime).TotalMilliseconds > WaitReceiveDataTime) |
| | | { |
| | | responseData.errorMessageBase = "回复超时,请重新操作"; |
| | | } |
| | | mainGateway.Actions -= action; |
| | | System.Console.WriteLine("DeviceBind/DelBind_Actions 退出" + System.DateTime.Now.ToString()); |
| | | |
| | | return responseData; |
| | | }); |
| | | } |