public DataSetQueryRestartPosition GetRestartPositionForDataSet(Microsoft.ReportingServices.ReportIntermediateFormat.DataSet targetDataSet) { if (!m_queryRestartEnabled) { return(null); } List <RestartContext> list = new List <RestartContext>(); if (m_relationshipRestartPositions.TryGetValue(targetDataSet, out List <RelationshipRestartContext> value)) { foreach (RelationshipRestartContext item in value) { list.Add(item); } } foreach (ScopeIDContext item2 in m_queryRestartPosition) { if (item2.MemberDefinition.DataScopeInfo.DataSet == targetDataSet && item2.RestartMode != RestartMode.Rom) { list.Add(item2); } } DataSetQueryRestartPosition result = null; if (list.Count > 0) { result = new DataSetQueryRestartPosition(list); } return(result); }
internal RuntimeDataSet(Microsoft.ReportingServices.ReportIntermediateFormat.DataSource dataSource, Microsoft.ReportingServices.ReportIntermediateFormat.DataSet dataSet, DataSetInstance dataSetInstance, OnDemandProcessingContext odpContext, bool processRetrievedData) : base(dataSource, dataSet, odpContext) { m_dataSetInstance = dataSetInstance; m_processRetrievedData = processRetrievedData; if (m_odpContext.QueryRestartInfo == null) { m_restartPosition = null; } else { m_restartPosition = m_odpContext.QueryRestartInfo.GetRestartPositionForDataSet(m_dataSet); } }