private static async Task <XResponseMessage> ProcessQueryFacilitys(QueryDataBlock cd, dynamic data) { XResponseMessage xResponseMessage = null; if (cd.FarmCode != null) { var farm = cd.FarmCode.Farm; var result = await QueryDataProcessor.ProcessGetFacilities(farm); if (result != null && result.Success != ErrorType.NoError) { xResponseMessage = result; xResponseMessage.IsTrue = true; } if (result != null) { if (!result.Message.IsNullOrWhiteSpace()) { xResponseMessage.Message += result.Message + " "; } if (result.Data != null) { data.QueryFacilitys = result.Data; } } } xResponseMessage.IsTrue = false; return(xResponseMessage); }
private static async Task <XResponseMessage> ProcessQueryFacilityType(QueryDataBlock queryDataBlock, dynamic data) { XResponseMessage xResponseMessage = null; if (queryDataBlock.FacilityType) { var result = await QueryDataProcessor.ProcessFacilityTypeGet(); if (result != null && result.Success != ErrorType.NoError) { xResponseMessage = result; xResponseMessage.IsTrue = true; } if (result != null) { if (!result.Message.IsNullOrWhiteSpace()) { xResponseMessage.Message += result.Message + " "; } if (result.Data != null) { data.QueryFacilityType = result.Data; } } } xResponseMessage.IsTrue = false; return(xResponseMessage); }
/// <summary> /// 处理查询数据 /// </summary> /// <param name="queryDataBlock"></param> public static async Task <XResponseMessage> ProcessQueryData(QueryDataBlock queryDataBlock) { if (queryDataBlock == null) { throw new ArgumentNullException("queryDataBlock"); } dynamic data = new ExpandoObject(); var message = ""; XResponseMessage xResponseMessage = new XResponseMessage { Message = message, Success = ErrorType.NoContent, IsTrue = false, Data = data }; //获取设施类型 xResponseMessage = (XResponseMessage) await ProcessQueryFacilityType(queryDataBlock, data); if (xResponseMessage.IsTrue) { message = xResponseMessage.Message; return(xResponseMessage); } //获取设备类型 xResponseMessage = (XResponseMessage) await ProcessQueryDeviceType(queryDataBlock, data); if (xResponseMessage.IsTrue) { message = xResponseMessage.Message; return(xResponseMessage); } //查询基地下所有设施 xResponseMessage = (XResponseMessage) await ProcessQueryFacilitys(queryDataBlock, data); if (xResponseMessage.IsTrue) { message = xResponseMessage.Message; return(xResponseMessage); } //获取设施下所有设备,包含采集设备、控制设备、音视频设备 xResponseMessage = (XResponseMessage) await ProcessQueryFacilityDevices(queryDataBlock, data); if (xResponseMessage.IsTrue) { message = xResponseMessage.Message; return(xResponseMessage); } var result2 = new XResponseMessage() { Success = ErrorType.NoError, Message = message, Data = data, }; return(result2); }
/// <summary> /// /// </summary> /// <param name="md"></param> /// <param name="id">原始数据包ID</param> /// <returns></returns> public async Task <XResponseMessage> ProcessAsync(QueryDataBlock md) { if (md == null) { return(null); } if (md.FacilityType) //查询设施类型 { try { var result = await AhnqIotContainer.Container.Resolve <FacilityTypeProcess>().ProcessAsync(); return(ResultHelper.CreateMessage("查询设施类型", obj: result)); } catch (AggregateException ex) { ex.InnerExceptions.ToList().ForEach(e => { LogHelper.Error("查询设施类型出错:{0}", e.Message); LogHelper.Fatal(e.ToString()); }); return(ResultHelper.CreateExceptionMessage(ex, ex.Message)); } } if (md.FarmCode != null && !md.FarmCode.Farm.IsNullOrWhiteSpace()) //查询基地下设施 { try { var result = await AhnqIotContainer.Container.Resolve <QueryFacilitysProcess>().ProcessAsync(md.FarmCode.Farm); return(ResultHelper.CreateMessage("查询基地下设施", obj: result)); } catch (AggregateException ex) { ex.InnerExceptions.ToList().ForEach(e => { LogHelper.Error("查询设施类型出错:{0}", e.Message); LogHelper.Fatal(e.ToString()); }); return(ResultHelper.CreateExceptionMessage(ex, ex.Message)); } } if (!md.FacilityCode.IsNullOrWhiteSpace()) //查询指定设施 { try { var result = await AhnqIotContainer.Container.Resolve <QueryFacilityProcess>().ProcessAsync(md.FacilityCode); return(ResultHelper.CreateMessage("查询指定设施", obj: result)); } catch (AggregateException ex) { ex.InnerExceptions.ToList().ForEach(e => { LogHelper.Error("查询指定设施出错:{0}", e.Message); LogHelper.Fatal(e.ToString()); }); return(ResultHelper.CreateExceptionMessage(ex, ex.Message)); } } if (md.DeviceType) //查询设备类型 { try { var result = await AhnqIotContainer.Container.Resolve <DeviceTypeProcess>().ProcessAsync(); return(ResultHelper.CreateMessage("查询指定设施", obj: result)); } catch (AggregateException ex) { ex.InnerExceptions.ToList().ForEach(e => { LogHelper.Error("查询指定设施出错:{0}", e.Message); LogHelper.Fatal(e.ToString()); }); return(ResultHelper.CreateExceptionMessage(ex, ex.Message)); } } if (md.Facility != null && !md.Facility.Facility.IsNullOrWhiteSpace()) //查询设施下的设备 { try { var result = await AhnqIotContainer.Container.Resolve <QueryDevicesProcess>().ProcessAsync(md.Facility.Facility); return(ResultHelper.CreateMessage("查询设施下的设备", obj: result)); } catch (AggregateException ex) { ex.InnerExceptions.ToList().ForEach(e => { LogHelper.Error("查询设施下的设备出错:{0}", e.Message); LogHelper.Fatal(e.ToString()); }); return(ResultHelper.CreateExceptionMessage(ex, ex.Message)); } } if (!md.DeviceCode.IsNullOrWhiteSpace()) //查询指定设备 { try { var result = await AhnqIotContainer.Container.Resolve <QueryDeviceProcess>().ProcessAsync(md.DeviceCode); return(ResultHelper.CreateMessage("查询指定设备", obj: result)); } catch (AggregateException ex) { ex.InnerExceptions.ToList().ForEach(e => { LogHelper.Error("查询指定设备出错:{0}", e.Message); LogHelper.Fatal(e.ToString()); }); return(ResultHelper.CreateExceptionMessage(ex, ex.Message)); } } if (md.MediaCode.IsNullOrWhiteSpace()) { return(null); } { try { var result = await AhnqIotContainer.Container.Resolve <QueryMediaProcess>().ProcessAsync(md.MediaCode); return(ResultHelper.CreateMessage("查询指定视频设备", obj: result)); } catch (AggregateException ex) { ex.InnerExceptions.ToList().ForEach(e => { LogHelper.Error("查询指定视频设备出错:{0}", e.Message); LogHelper.Fatal(e.ToString()); }); return(ResultHelper.CreateExceptionMessage(ex, ex.Message)); } } return(null); }