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);
        }
Example #2
0
 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);
     }
 }