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)); }
/// <summary> /// Creates new station row and assigns default StationID and Name /// </summary> /// <param name="pPrefix">The prefix.</param> /// <returns>New <see cref="StationRow"/></returns> public StationRow NewStationRow(string pPrefix) { //ulong id = 0; //foreach ( StationRow st in this ) // id = Math.Max( id, st.StationID ); //id++; StationRow cr = NewStationRow(); //cr.StationID = id; cr.Name = string.Format("{0}{2}Station{1}", pPrefix, cr.StationID.ToString(), m_IdentSep); return(cr); }
/// <summary> /// Creates new station row and assigns default StationID and Name /// </summary> /// <param name="pRowToBeCopied">row to be copied</param> /// <param name="pShallowCopy">indicate if the copy is shallow or deep</param> /// <param name="pPrefix">prefix for the name</param> public void NewStationRow(StationRow pRowToBeCopied, bool pShallowCopy, string pPrefix) { StationRow rw = NewStationRow(pPrefix); AddStationRow(rw); if (!pShallowCopy) { foreach (GroupsRow gr in pRowToBeCopied.GetGroupsRows()) { ((ComunicationNet)DataSet).Groups.NewGroupsRow(rw.StationID, gr, false, rw.Name); } } return; }