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 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(); } } }