private DataSourceInfoCollection CombineOnSetDefinition(DataSourceInfoCollection newDataSources, bool keepOriginalDataSourceId, bool overrideOriginalConnectString) { DataSourceInfoCollection dataSourceInfoCollection = new DataSourceInfoCollection(); foreach (DataSourceInfo newDataSource in newDataSources) { DataSourceInfo byOriginalName = GetByOriginalName(newDataSource.OriginalName); if (byOriginalName == null) { dataSourceInfoCollection.Add(newDataSource); continue; } if (!keepOriginalDataSourceId) { byOriginalName.ID = newDataSource.ID; } if (overrideOriginalConnectString) { byOriginalName.SetOriginalConnectionString(newDataSource.OriginalConnectionStringEncrypted); byOriginalName.SetOriginalConnectStringExpressionBased(newDataSource.OriginalConnectStringExpressionBased); } dataSourceInfoCollection.Add(byOriginalName); } return(dataSourceInfoCollection); }
public DataSourceInfoCollection(DataSourceInfoCollection other) { RSTrace processingTracer = RSTrace.ProcessingTracer; processingTracer.Assert(other != null); processingTracer.Assert(other.m_collection != null); m_collection = (Hashtable)other.m_collection.Clone(); }
internal DataSourceInfo GetByName(string name, ICatalogItemContext report) { if (m_collectionByReport != null) { DataSourceInfoCollection dataSourceInfoCollection = (DataSourceInfoCollection)m_collectionByReport[report.StableItemPath]; if (dataSourceInfoCollection != null) { return(dataSourceInfoCollection.GetByOriginalName(name)); } } return(null); }
private void AddToCollectionByReport(DataSourceInfo dataSource, ICatalogItemContext report) { DataSourceInfoCollection dataSourceInfoCollection = null; if (m_collectionByReport == null) { m_collectionByReport = new Hashtable(); } else { dataSourceInfoCollection = (DataSourceInfoCollection)m_collectionByReport[report.StableItemPath]; } if (dataSourceInfoCollection == null) { dataSourceInfoCollection = new DataSourceInfoCollection(); m_collectionByReport.Add(report.StableItemPath, dataSourceInfoCollection); } dataSourceInfoCollection.Add(dataSource); }
public DataSourceInfoCollection CombineOnSetDataSources(DataSourceInfoCollection newDataSources) { DataSourceInfoCollection dataSourceInfoCollection = new DataSourceInfoCollection(); foreach (DataSourceInfo newDataSource in newDataSources) { DataSourceInfo byOriginalName = GetByOriginalName(newDataSource.OriginalName); if (byOriginalName == null) { throw new DataSourceNotFoundException(newDataSource.OriginalName); } newDataSource.ID = byOriginalName.ID; newDataSource.SetOriginalConnectionString(byOriginalName.OriginalConnectionStringEncrypted); newDataSource.SetOriginalConnectStringExpressionBased(byOriginalName.OriginalConnectStringExpressionBased); dataSourceInfoCollection.Add(newDataSource); } IEnumerator enumerator = GetEnumerator(); try { while (enumerator.MoveNext()) { DataSourceInfo dataSourceInfo2 = (DataSourceInfo)enumerator.Current; if (newDataSources.GetByOriginalName(dataSourceInfo2.OriginalName) == null) { dataSourceInfoCollection.Add(dataSourceInfo2); } } return(dataSourceInfoCollection); } finally { IDisposable disposable = enumerator as IDisposable; if (disposable != null) { disposable.Dispose(); } } }
public DataSourceInfoCollection CombineOnSetDefinitionWithoutSideEffects(DataSourceInfoCollection newDataSources) { return(CombineOnSetDefinition(newDataSources, keepOriginalDataSourceId: false, overrideOriginalConnectString: false)); }
public DataSourceInfoCollection CombineOnSetDefinitionKeepOriginalDataSourceId(DataSourceInfoCollection newDataSources) { return(CombineOnSetDefinition(newDataSources, keepOriginalDataSourceId: true, overrideOriginalConnectString: true)); }