public DataSourceInfoCollection CombineOnSetDataSources(DataSourceInfoCollection newDataSources) { DataSourceInfoCollection dataSourceInfoCollection = new DataSourceInfoCollection(); foreach (DataSourceInfo newDataSource in newDataSources) { DataSourceInfo byOriginalName = this.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); } foreach (DataSourceInfo item in this) { DataSourceInfo byOriginalName2 = newDataSources.GetByOriginalName(item.OriginalName); if (byOriginalName2 == null) { dataSourceInfoCollection.Add(item); } } return(dataSourceInfoCollection); }
public DataSourceInfo GetByName(string name, ICatalogItemContext report) { if (this.m_collectionByReport != null) { DataSourceInfoCollection dataSourceInfoCollection = (DataSourceInfoCollection)this.m_collectionByReport[report.StableItemPath]; if (dataSourceInfoCollection != null) { return(dataSourceInfoCollection.GetByOriginalName(name)); } } return(null); }