private object GetMergedDataSourcesSection(string configKey, object originalSection) { var testDataSourcesSection = TestConfig.GetSection(configKey); //return original section if test config has no datasources section defined if (testDataSourcesSection == null) { return(originalSection); } var mergedDataSources = new DataSourceElementCollection(); //copy test datasources foreach (DataSourceElement dataSource in ((TestConfigurationSection)testDataSourcesSection).DataSources) { mergedDataSources.Add(dataSource); } //merge datasources from original config if (originalSection != null) { foreach (DataSourceElement item in ((TestConfigurationSection)originalSection).DataSources) { if (!mergedDataSources.Cast <DataSourceElement>().Any(x => x.Name.Equals(item.Name, StringComparison.CurrentCultureIgnoreCase))) { mergedDataSources.Add(item); } } } //create merged TestConfigurationSection TestConfigurationSection mergedDataSourcesSection = new TestConfigurationSection(); foreach (DataSourceElement dataSource in mergedDataSources) { mergedDataSourcesSection.DataSources.Add(dataSource); } return(mergedDataSourcesSection); }
private object GetMergedDataSourcesSection(string configKey, object originalSection) { var testDataSourcesSection = TestConfig.GetSection(configKey); //return original section if test config has no datasources section defined if (testDataSourcesSection == null) { return originalSection; } var mergedDataSources = new DataSourceElementCollection(); //copy test datasources foreach (DataSourceElement dataSource in ((TestConfigurationSection)testDataSourcesSection).DataSources) { mergedDataSources.Add(dataSource); } //merge datasources from original config if (originalSection != null) { foreach (DataSourceElement item in ((TestConfigurationSection)originalSection).DataSources) { if (!mergedDataSources.Cast<DataSourceElement>().Any(x => x.Name.Equals(item.Name, StringComparison.CurrentCultureIgnoreCase))) { mergedDataSources.Add(item); } } } //create merged TestConfigurationSection TestConfigurationSection mergedDataSourcesSection = new TestConfigurationSection(); foreach (DataSourceElement dataSource in mergedDataSources) { mergedDataSourcesSection.DataSources.Add(dataSource); } return mergedDataSourcesSection; }