private CompactionReportResult ConvertTRexStationOffsetResult(CompactionReportStationOffsetRequest request, Stream stream) { log.LogDebug($"{nameof(ConvertTRexStationOffsetResult)}: Retrieving response data from TRex"); var stationOffsetReportResult = new StationOffsetReportResultPackager(ReportType.StationOffset); stationOffsetReportResult.Read((stream as MemoryStream)?.ToArray()); var stationRows = new StationRow[stationOffsetReportResult.GriddedData.NumberOfRows]; for (var i = 0; i < stationOffsetReportResult.GriddedData.NumberOfRows; i++) { var station = stationOffsetReportResult.GriddedData.Rows[i]; var stationRow = StationRow.Create(station, request); for (var j = 0; j < station.Offsets.Count; j++) { stationRow.Offsets[j] = StationOffsetRow.CreateRow(station.Offsets[j], request); } stationRows[i] = stationRow; } var startAndEndTime = request.Filter.StartUtc ?? DateTime.UtcNow; var stationOffsetReport = new StationOffsetReport(startAndEndTime, startAndEndTime, stationRows, request); return(CompactionReportResult.CreateExportDataResult(stationOffsetReport, 1)); }
private CompactionReportResult ConvertStationOffsetResult(CompactionReportStationOffsetRequest request, Stream stream) { log.LogDebug($"{nameof(ConvertStationOffsetResult)}"); // Unpack the data for the report and construct a stream containing the result var reportPackager = new TRaptorReportsPackager(TRaptorReportType.rrtStationOffset) { ReturnCode = TRaptorReportReturnCode.rrrcUnknownError }; log.LogDebug($"{nameof(ConvertStationOffsetResult)}: Retrieving response data"); reportPackager.ReadFromStream(stream); var stationRows = new StationRow[reportPackager.StationOffsetReport.NumberOfStations]; for (var i = 0; i < reportPackager.StationOffsetReport.NumberOfStations; i++) { var station = reportPackager.StationOffsetReport.Stations[i]; var stationRow = StationRow.Create(station, request); for (var j = 0; j < station.NumberOfOffsets; j++) { stationRow.Offsets[j] = StationOffsetRow.CreateRow(station.Offsets[j], request); } stationRows[i] = stationRow; } var startAndEndTime = request.Filter.StartUtc ?? DateTime.UtcNow; var stationOffsetReport = new StationOffsetReport(startAndEndTime, startAndEndTime, stationRows, request); return(CompactionReportResult.CreateExportDataResult(stationOffsetReport, 1)); }