public void SetReportParameters(NameValueCollection userSpecifiedValues)
        {
            ParameterInfoCollection parameterInfoCollection = this.m_executionSession.ExecutionInfo.ReportParameters;

            if (parameterInfoCollection == null)
            {
                ControlSnapshot  controlSnapshot = default(ControlSnapshot);
                PublishingResult compiledReport  = this.GetCompiledReport(this.m_itemContext, false, out controlSnapshot);
                parameterInfoCollection = compiledReport.Parameters;
            }
            else if (userSpecifiedValues == null)
            {
                return;
            }
            ParameterInfoCollection parameterInfoCollection2;

            if (userSpecifiedValues != null)
            {
                ParameterInfoCollection newParameters = ParameterInfoCollection.DecodeFromNameValueCollectionAndUserCulture(userSpecifiedValues);
                parameterInfoCollection2 = ParameterInfoCollection.Combine(parameterInfoCollection, newParameters, true, false, false, false, Localization.ClientPrimaryCulture);
            }
            else
            {
                parameterInfoCollection2 = parameterInfoCollection;
            }
            ParameterInfoCollection parameterInfoCollection3 = new ParameterInfoCollection();

            parameterInfoCollection2.CopyTo(parameterInfoCollection3);
            this.ProcessAndStoreReportParameters(parameterInfoCollection3);
        }
Beispiel #2
0
 public static List <Declaration> GetChunkDeclarations()
 {
     if (OnDemandProcessingManager.m_ChunkDeclarations == null)
     {
         List <Declaration> list = new List <Declaration>(21);
         list.Add(ScopeInstance.GetDeclaration());
         list.Add(ReportInstance.GetDeclaration());
         list.Add(DataSetInstance.GetDeclaration());
         list.Add(DataRegionInstance.GetDeclaration());
         list.Add(DataRegionMemberInstance.GetDeclaration());
         list.Add(DataCellInstance.GetDeclaration());
         list.Add(DataAggregateObjResult.GetDeclaration());
         list.Add(SubReportInstance.GetDeclaration());
         list.Add(GroupTreePartition.GetDeclaration());
         list.Add(ReportSnapshot.GetDeclaration());
         list.Add(ParametersImplWrapper.GetDeclaration());
         list.Add(ParameterImplWrapper.GetDeclaration());
         list.Add(SubReportInfo.GetDeclaration());
         list.Add(ParameterInfo.GetNewDeclaration());
         list.Add(ParameterInfoCollection.GetDeclaration());
         list.Add(ParameterBase.GetNewDeclaration());
         list.Add(ValidValue.GetNewDeclaration());
         list.Add(FieldInfo.GetDeclaration());
         list.Add(TreePartitionManager.GetDeclaration());
         list.Add(LookupObjResult.GetDeclaration());
         list.Add(DataCellInstanceList.GetDeclaration());
         return(list);
     }
     return(OnDemandProcessingManager.m_ChunkDeclarations);
 }
 public DataSetResult(ParameterInfoCollection finalParameters, ProcessingMessageList warnings, UserProfileState usedUserProfileState, bool successfulCompletion)
 {
     m_parameters           = finalParameters;
     m_warnings             = warnings;
     m_usedUserProfileState = usedUserProfileState;
     m_successfulCompletion = successfulCompletion;
 }
 internal static List <Declaration> GetChunkDeclarations()
 {
     if (m_ChunkDeclarations == null)
     {
         return(new List <Declaration>(21)
         {
             ScopeInstance.GetDeclaration(),
             ReportInstance.GetDeclaration(),
             DataSetInstance.GetDeclaration(),
             DataRegionInstance.GetDeclaration(),
             DataRegionMemberInstance.GetDeclaration(),
             DataCellInstance.GetDeclaration(),
             DataAggregateObjResult.GetDeclaration(),
             SubReportInstance.GetDeclaration(),
             GroupTreePartition.GetDeclaration(),
             ReportSnapshot.GetDeclaration(),
             ParametersImplWrapper.GetDeclaration(),
             ParameterImplWrapper.GetDeclaration(),
             SubReportInfo.GetDeclaration(),
             ParameterInfo.GetNewDeclaration(),
             ParameterInfoCollection.GetDeclaration(),
             ParameterBase.GetNewDeclaration(),
             ValidValue.GetNewDeclaration(),
             FieldInfo.GetDeclaration(),
             TreePartitionManager.GetDeclaration(),
             LookupObjResult.GetDeclaration(),
             DataCellInstanceList.GetDeclaration()
         });
     }
     return(m_ChunkDeclarations);
 }
        public void SetReportParameters(NameValueCollection userSpecifiedValues)
        {
            ParameterInfoCollection parameterInfoCollection = m_executionSession.ExecutionInfo.ReportParameters;

            if (parameterInfoCollection == null)
            {
                parameterInfoCollection = GetCompiledReport(m_itemContext, rebuild: false, out ControlSnapshot _).Parameters;
            }
            else if (userSpecifiedValues == null)
            {
                return;
            }
            ParameterInfoCollection parameterInfoCollection2;

            if (userSpecifiedValues != null)
            {
                ParameterInfoCollection newParameters = ParameterInfoCollection.DecodeFromNameValueCollectionAndUserCulture(userSpecifiedValues);
                parameterInfoCollection2 = ParameterInfoCollection.Combine(parameterInfoCollection, newParameters, checkReadOnly: true, ignoreNewQueryParams: false, isParameterDefinitionUpdate: false, isSharedDataSetParameter: false, Localization.ClientPrimaryCulture);
            }
            else
            {
                parameterInfoCollection2 = parameterInfoCollection;
            }
            ParameterInfoCollection parameterInfoCollection3 = new ParameterInfoCollection();

            parameterInfoCollection2.CopyTo(parameterInfoCollection3);
            ProcessAndStoreReportParameters(parameterInfoCollection3);
        }
        public static Dictionary <string, bool> BuildSubmittedDependencyList(ParameterInfoCollection parameters)
        {
            Dictionary <string, bool> dictionary = new Dictionary <string, bool>();

            for (int i = 0; i < parameters.Count; i++)
            {
                ParameterInfo parameterInfo = parameters[i];
                if (parameterInfo.DependencyList != null)
                {
                    for (int j = 0; j < parameterInfo.DependencyList.Count; j++)
                    {
                        ParameterInfo parameterInfo2 = parameterInfo.DependencyList[j];
                        if (parameterInfo2.IsUserSupplied && parameterInfo2.ValuesChanged)
                        {
                            goto IL_004d;
                        }
                        if (dictionary.ContainsKey(parameterInfo2.Name))
                        {
                            goto IL_004d;
                        }
                        continue;
IL_004d:
                        dictionary.Add(parameterInfo.Name, true);
                        break;
                    }
                }
            }
            return(dictionary);
        }
 private void ResetExecution(bool forceRecompile)
 {
     if (forceRecompile)
     {
         DatasourceCredentialsCollection datasourceCredentialsCollection = null;
         ParameterInfoCollection         reportParameters = null;
         if (this.RecompileOnResetExecution)
         {
             datasourceCredentialsCollection = this.m_executionSession.Credentials;
             reportParameters = this.m_executionSession.ExecutionInfo.ReportParameters;
         }
         this.m_executionSession = new LocalExecutionSession();
         if (datasourceCredentialsCollection != null)
         {
             foreach (DatasourceCredentials item in datasourceCredentialsCollection)
             {
                 this.m_executionSession.Credentials.Add(item);
             }
         }
         this.m_executionSession.ExecutionInfo.ReportParameters = reportParameters;
     }
     else
     {
         this.m_executionSession.ResetExecution();
     }
 }
        protected ProcessingContext CreateProcessingContext(ParameterInfoCollection reportParameters, IEnumerable dataSources, DatasourceCredentialsCollection credentials, IChunkFactory chunkFactory, CreateAndRegisterStream createStreamCallback, SubreportCallbackHandler subreportHandler)
        {
            RuntimeDataSourceInfoCollection dataSourceInfoColl = null;
            RuntimeDataSetInfoCollection    dataSetInfoColl    = null;

            this.GetAllReportDataSourcesAndSharedDataSets(out dataSourceInfoColl, out dataSetInfoColl);
            return(this.m_dataRetrieval.CreateProcessingContext(this.m_itemContext, reportParameters, dataSources, dataSourceInfoColl, dataSetInfoColl, this.GetCompiledDataSet, credentials, subreportHandler.OnDemandSubReportCallback, new GetResourceForLocalService(this.Catalog), chunkFactory, this.m_reportRuntimeSetupHandler.ReportRuntimeSetup, createStreamCallback));
        }
 public void UpdateParametersContext(ParameterInfoCollection parameters, int lastIndex, int currentIndex)
 {
     for (int i = lastIndex; i < currentIndex; i++)
     {
         ParameterInfo aParamInfo = parameters[i];
         this.AddToRuntime(aParamInfo);
     }
 }
Beispiel #10
0
 public void Init(ParameterInfoCollection parameters)
 {
     if (this.m_odpContext.ReportRuntime == null)
     {
         this.Init(false, false);
     }
     this.m_odpContext.ReportObjectModel.Initialize(parameters);
     this.m_odpContext.ReportRuntime.CustomCodeOnInit(this.m_odpContext.ReportDefinition);
 }
Beispiel #11
0
 internal void Init(ParameterInfoCollection parameters)
 {
     if (m_odpContext.ReportRuntime == null)
     {
         Init(includeParameters: false, parametersOnly: false);
     }
     m_odpContext.ReportObjectModel.Initialize(parameters);
     m_odpContext.ReportRuntime.CustomCodeOnInit(m_odpContext.ReportDefinition);
 }
 private void ProcessAndStoreReportParameters(ParameterInfoCollection newParameters)
 {
     GetCompiledReport(m_itemContext, rebuild: false, out ControlSnapshot snapshot);
     using (ProcessingStreamHandler @object = new ProcessingStreamHandler())
     {
         ProcessingContext pc = CreateProcessingContext(newParameters, null, m_executionSession.Credentials, snapshot, @object.StreamCallback, CreateSubreportCallbackHandler());
         CreateAndConfigureReportProcessing().ProcessReportParameters(DateTime.Now, pc, isSnapshot: false, out bool _);
         m_executionSession.ExecutionInfo.ReportParameters = newParameters;
     }
 }
Beispiel #13
0
 public DataSetDefinition(DataSetCore dataSetCore, string description, DataSourceInfo dataSourceInfo, ParameterInfoCollection dataSetParameters)
 {
     this.m_dataSetCore       = dataSetCore;
     this.m_description       = description;
     this.m_dataSetParameters = dataSetParameters;
     if (dataSourceInfo != null && dataSourceInfo.IsReference)
     {
         this.m_sharedDataSourceReferenceId = dataSourceInfo.ID;
     }
 }
        internal override void InitParametersContext(ParameterInfoCollection parameters)
        {
            OnDemandProcessingContext onDemandContext = GetOnDemandContext();

            Global.Tracer.Assert(onDemandContext.ReportObjectModel != null && onDemandContext.ReportRuntime != null);
            if (onDemandContext.ReportRuntime.ReportExprHost != null)
            {
                m_dataSetCore.SetExprHost(onDemandContext.ReportRuntime.ReportExprHost, onDemandContext.ReportObjectModel);
            }
        }
        void IPersistable.Deserialize(Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.IntermediateFormatReader reader)
        {
            Deserialize(reader);
            reader.RegisterDeclaration(m_Declaration);
            while (reader.NextMember())
            {
                switch (reader.CurrentMember.MemberName)
                {
                case Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.MemberName.Prompt:
                    m_prompt = reader.ReadString();
                    break;

                case Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.MemberName.DynamicPrompt:
                    m_dynamicPrompt = reader.ReadBoolean();
                    break;

                case Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.MemberName.IsUserSupplied:
                    m_isUserSupplied = reader.ReadBoolean();
                    break;

                case Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.MemberName.Value:
                    m_values = reader.ReadVariantArray();
                    break;

                case Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.MemberName.DynamicValidValues:
                    m_dynamicValidValues = reader.ReadBoolean();
                    break;

                case Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.MemberName.DynamicDefaultValue:
                    m_dynamicDefaultValue = reader.ReadBoolean();
                    break;

                case Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.MemberName.DependencyList:
                    m_dependencyList = reader.ReadListOfRIFObjects <ParameterInfoCollection>();
                    break;

                case Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.MemberName.ValidValues:
                    m_validValues = reader.ReadListOfRIFObjects <ValidValueList>();
                    break;

                case Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.MemberName.Label:
                    m_labels = reader.ReadStringArray();
                    break;

                case Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.MemberName.DependencyIndexList:
                    m_dependencyIndexList = reader.ReadInt32Array();
                    break;

                default:
                    Global.Tracer.Assert(condition: false);
                    break;
                }
            }
        }
Beispiel #16
0
        protected bool ProcessSharedDataSetReference()
        {
            DataSetInfo dataSetInfo = null;

            if (m_odpContext.SharedDataSetReferences != null)
            {
                if (Guid.Empty != m_dataSet.DataSetCore.CatalogID)
                {
                    dataSetInfo = m_odpContext.SharedDataSetReferences.GetByID(m_dataSet.DataSetCore.CatalogID);
                }
                if (dataSetInfo == null)
                {
                    dataSetInfo = m_odpContext.SharedDataSetReferences.GetByName(m_dataSet.DataSetCore.Name, m_odpContext.ReportContext);
                }
            }
            if (dataSetInfo == null)
            {
                throw new ReportProcessingException(ErrorCode.rsInvalidSharedDataSetReference, m_dataSet.Name.MarkAsPrivate(), m_dataSet.SharedDataSetQuery.SharedDataSetReference);
            }
            List <Microsoft.ReportingServices.ReportIntermediateFormat.ParameterValue> parameters = m_dataSet.SharedDataSetQuery.Parameters;

            SharedDataSetParameterNameMapper.MakeUnique(parameters);
            ParameterInfoCollection parameterInfoCollection = new ParameterInfoCollection();

            object[] array = new object[parameters?.Count ?? 0];
            for (int i = 0; i < array.Length; i++)
            {
                array[i] = parameters[i].EvaluateQueryParameterValue(m_odpContext, m_dataSet.ExprHost);
                if (m_dataSet.IsReferenceToSharedDataSet)
                {
                    ParameterInfo parameterInfo = new ParameterInfo(parameters[i]);
                    parameterInfo.Name = parameters[i].UniqueName;
                    parameterInfo.SetValuesFromQueryParameter(array[i]);
                    parameterInfo.DataType = DataType.Object;
                    parameterInfoCollection.Add(parameterInfo);
                }
            }
            m_odpContext.CheckAndThrowIfAborted();
            m_executionMetrics.StartTotalTimer();
            try
            {
                GetSharedDataSetChunkAndProcess(processAsIRowConsumer: true, dataSetInfo, parameterInfoCollection);
            }
            finally
            {
                m_executionMetrics.RecordTotalTimerMeasurement();
            }
            if (!m_odpContext.IsSharedDataSetExecutionOnly && m_dataSetInstance != null)
            {
                m_dataSetInstance.SaveCollationSettings(m_dataSet);
                UpdateReportOMDataSet();
            }
            return(false);
        }
 public ReportSnapshot(Report report, string reportName, ParameterInfoCollection parameters, string requestUserName, DateTime executionTime, string reportServerUrl, string reportFolder, string language)
 {
     this.m_report          = report;
     this.m_reportName      = reportName;
     this.m_parameters      = parameters;
     this.m_requestUserName = requestUserName;
     this.m_executionTime   = executionTime;
     this.m_reportServerUrl = reportServerUrl;
     this.m_reportFolder    = reportFolder;
     this.m_language        = language;
 }
 internal void ResolveDependencies(ParameterInfoCollection containingCollection)
 {
     if (m_dependencyIndexList != null)
     {
         m_dependencyList = new ParameterInfoCollection(m_dependencyIndexList.Length);
         for (int i = 0; i < m_dependencyIndexList.Length; i++)
         {
             m_dependencyList.Add(containingCollection[m_dependencyIndexList[i]]);
         }
     }
     m_dependencyIndexList = null;
 }
Beispiel #19
0
 public ReportInstanceInfo(ReportProcessing.ProcessingContext pc, Report reportItemDef, ReportInstance owner, ParameterInfoCollection parameters, bool noRows)
     : base(pc, reportItemDef, owner, true)
 {
     this.m_bodyUniqueName = pc.CreateUniqueName();
     this.m_reportName     = pc.ReportContext.ItemName;
     this.m_parameters     = new ParameterInfoCollection();
     if (parameters != null && parameters.Count > 0)
     {
         parameters.CopyTo(this.m_parameters);
     }
     this.m_noRows = noRows;
 }
Beispiel #20
0
 public void ResolveDependencies(ParameterInfoCollection containingCollection)
 {
     if (this.m_dependencyIndexList != null)
     {
         this.m_dependencyList = new ParameterInfoCollection(this.m_dependencyIndexList.Length);
         for (int i = 0; i < this.m_dependencyIndexList.Length; i++)
         {
             this.m_dependencyList.Add(containingCollection[this.m_dependencyIndexList[i]]);
         }
     }
     this.m_dependencyIndexList = null;
 }
 public void Initialize(ParameterInfoCollection parameters)
 {
     this.m_parameters = new ParametersImpl(parameters.Count);
     if (parameters != null && parameters.Count > 0)
     {
         for (int i = 0; i < parameters.Count; i++)
         {
             ParameterInfo parameterInfo = parameters[i];
             this.m_parameters.Add(parameterInfo.Name, new ParameterImpl(parameterInfo));
         }
     }
 }
 internal bool FetchSharedDataSet(ParameterInfoCollection parameters)
 {
     if (parameters != null && parameters.Count != 0)
     {
         m_odpContext.ReportObjectModel.ParametersImpl.Clear();
         m_odpContext.ReportObjectModel.Initialize(parameters);
     }
     if (m_odpContext.ExternalDataSetContext.CachedDataChunkName == null)
     {
         return(FetchSharedDataSetLive());
     }
     return(FetchSharedDataSetCached());
 }
Beispiel #23
0
 private static ReportParameterInfoCollection ParameterInfoCollectionToApi(ParameterInfoCollection processingMetadata, bool supportsQueries)
 {
     if (processingMetadata == null)
     {
         return(new ReportParameterInfoCollection());
     }
     ReportParameterInfo[] array = new ReportParameterInfo[processingMetadata.Count];
     for (int i = 0; i < processingMetadata.Count; i++)
     {
         array[i] = ParameterInfoToApi(processingMetadata[i], supportsQueries);
     }
     return(new ReportParameterInfoCollection(array));
 }
        private void ProcessAndStoreReportParameters(ParameterInfoCollection newParameters)
        {
            ControlSnapshot chunkFactory = default(ControlSnapshot);

            this.GetCompiledReport(this.m_itemContext, false, out chunkFactory);
            using (ProcessingStreamHandler @object = new ProcessingStreamHandler())
            {
                ProcessingContext pc = this.CreateProcessingContext(newParameters, null, this.m_executionSession.Credentials, chunkFactory, @object.StreamCallback, this.CreateSubreportCallbackHandler());
                ReportProcessing  reportProcessing = this.CreateAndConfigureReportProcessing();
                bool flag = default(bool);
                reportProcessing.ProcessReportParameters(DateTime.Now, pc, false, out flag);
                this.m_executionSession.ExecutionInfo.ReportParameters = newParameters;
            }
        }
Beispiel #25
0
        private void Init(ParameterInfoCollection parameters, bool isValid)
        {
            m_isValid = isValid;
            int count = parameters.Count;

            for (int i = 0; i < count; i++)
            {
                ParameterInfo parameterInfo = parameters[i];
                if (parameterInfo.PromptUser)
                {
                    BaseAdd(parameterInfo.Name, new ReportParameter(parameterInfo));
                }
            }
        }
 internal ParameterInfo(ParameterInfo source)
     : base(source)
 {
     m_isUserSupplied      = source.m_isUserSupplied;
     m_valuesChanged       = source.m_valuesChanged;
     m_dynamicValidValues  = source.m_dynamicValidValues;
     m_dynamicDefaultValue = source.m_dynamicDefaultValue;
     m_state                   = source.State;
     m_othersDependOnMe        = source.m_othersDependOnMe;
     m_useExplicitDefaultValue = source.m_useExplicitDefaultValue;
     m_prompt                  = source.m_prompt;
     m_dynamicPrompt           = source.m_dynamicPrompt;
     if (source.m_values != null)
     {
         int num = source.m_values.Length;
         m_values = new object[num];
         for (int i = 0; i < num; i++)
         {
             m_values[i] = source.m_values[i];
         }
     }
     if (source.m_labels != null)
     {
         int num2 = source.m_labels.Length;
         m_labels = new string[num2];
         for (int j = 0; j < num2; j++)
         {
             m_labels[j] = source.m_labels[j];
         }
     }
     if (source.m_dependencyList != null)
     {
         int count = source.m_dependencyList.Count;
         m_dependencyList = new ParameterInfoCollection(count);
         for (int k = 0; k < count; k++)
         {
             m_dependencyList.Add(source.m_dependencyList[k]);
         }
     }
     if (source.m_validValues != null)
     {
         int count2 = source.m_validValues.Count;
         m_validValues = new ValidValueList(count2);
         for (int l = 0; l < count2; l++)
         {
             m_validValues.Add(source.m_validValues[l]);
         }
     }
 }
 public ReportSnapshot(Report report, string reportName, ParameterInfoCollection parameters, string requestUserName, DateTime executionTime, string reportServerUrl, string reportFolder, string language)
 {
     this.m_report                   = report;
     this.m_reportName               = reportName;
     this.m_parameters               = parameters;
     this.m_requestUserName          = requestUserName;
     this.m_executionTime            = executionTime;
     this.m_reportServerUrl          = reportServerUrl;
     this.m_reportFolder             = reportFolder;
     this.m_language                 = language;
     this.m_hasDocumentMap           = report.HasLabels;
     this.m_definitionHasDocumentMap = report.HasLabels;
     this.m_hasBookmarks             = report.HasBookmarks;
     this.m_cachedDataChanged        = true;
 }
Beispiel #28
0
 protected OnDemandProcessingResult(IChunkFactory createChunkFactory, bool hasDocumentMap, bool hasInteractivity, ParameterInfoCollection parameters, int autoRefresh, int numberOfPages, ProcessingMessageList warnings, bool eventInfoChanged, EventInformation newEventInfo, PaginationMode updatedPaginationMode, ReportProcessingFlags updatedProcessingFlags, UserProfileState usedUserProfileState, ExecutionLogContext executionLogContext)
 {
     this.m_createChunkFactory           = createChunkFactory;
     this.m_hasDocumentMap               = hasDocumentMap;
     this.m_numberOfPages                = numberOfPages;
     this.m_hasInteractivity             = hasInteractivity;
     this.m_parameters                   = parameters;
     this.m_autoRefresh                  = autoRefresh;
     this.m_warnings                     = warnings;
     this.m_eventInfoChanged             = eventInfoChanged;
     this.m_newEventInfo                 = newEventInfo;
     this.m_parameters                   = parameters;
     this.m_updatedPaginationMode        = updatedPaginationMode;
     this.m_updatedReportProcessingFlags = updatedProcessingFlags;
     this.m_usedUserProfileState         = usedUserProfileState;
     this.m_executionLogContext          = executionLogContext;
 }
Beispiel #29
0
 public PublishingResult(string reportDescription, string reportLanguage, ParameterInfoCollection parameters, DataSourceInfoCollection dataSources, DataSetInfoCollection sharedDataSetReferences, ProcessingMessageList warnings, UserLocationFlags userReferenceLocation, double pageHeight, double pageWidth, double topMargin, double bottomMargin, double leftMargin, double rightMargin, ArrayList dataSetsName, bool hasExternalImages, bool hasHyperlinks, ReportProcessingFlags reportProcessingFlags, byte[] dataSetsHash)
 {
     this.m_reportDescription     = reportDescription;
     this.m_reportLanguage        = reportLanguage;
     this.m_parameters            = parameters;
     this.m_dataSources           = dataSources;
     this.m_sharedDataSets        = sharedDataSetReferences;
     this.m_warnings              = warnings;
     this.m_userReferenceLocation = userReferenceLocation;
     this.m_hasExternalImages     = hasExternalImages;
     this.m_hasHyperlinks         = hasHyperlinks;
     this.m_reportProcessingFlags = reportProcessingFlags;
     this.m_dataSetsHash          = dataSetsHash;
     this.m_pageProperties        = new PageProperties(pageHeight, pageWidth, topMargin, bottomMargin, leftMargin, rightMargin);
     if (dataSetsName != null && dataSetsName.Count > 0)
     {
         this.m_dataSetsName = (string[])dataSetsName.ToArray(typeof(string));
     }
 }
        public void Deserialize(IntermediateFormatReader reader)
        {
            reader.RegisterDeclaration(m_Declaration);
            while (reader.NextMember())
            {
                switch (reader.CurrentMember.MemberName)
                {
                case MemberName.DefinitionUniqueName:
                    m_definitionUniqueName = reader.ReadString();
                    break;

                case MemberName.ReportPath:
                    m_reportPath = reader.ReadString();
                    break;

                case MemberName.ParametersFromCatalog:
                    m_parametersFromCatalog = reader.ReadListOfRIFObjects <ParameterInfoCollection>();
                    break;

                case MemberName.RetrievalFailed:
                    m_retrievalFailed = reader.ReadBoolean();
                    break;

                case MemberName.Description:
                    m_description = reader.ReadString();
                    break;

                case MemberName.OriginalCatalogPath:
                    m_originalCatalogPath = reader.ReadString();
                    break;

                default:
                    Global.Tracer.Assert(condition: false);
                    break;
                }
            }
            if (m_originalCatalogPath == null)
            {
                m_originalCatalogPath = m_reportPath;
            }
        }