private void MergePluginResults( int?profileId, DiscoveryPluginItems <DiscoveryPluginResultBase> results, DiscoveryPluginItems <DiscoveryPluginResultBase> partialResultsToMerge) { DiscoveryPluginResultObjectMapping resultObjectMapping = new DiscoveryPluginResultObjectMapping(); List <DiscoveryPluginResultBase> pluginResultBaseList = new List <DiscoveryPluginResultBase>(); using (IEnumerator <DiscoveryPluginResultBase> enumerator = results.GetEnumerator()) { while (((IEnumerator)enumerator).MoveNext()) { DiscoveryPluginResultBase item = enumerator.Current; DiscoveryPluginResultBase pluginResultBase = ((IEnumerable <DiscoveryPluginResultBase>)partialResultsToMerge).Except <DiscoveryPluginResultBase>((IEnumerable <DiscoveryPluginResultBase>)pluginResultBaseList).FirstOrDefault <DiscoveryPluginResultBase>((Func <DiscoveryPluginResultBase, bool>)(x => ((object)x).GetType() == ((object)item).GetType())); if (pluginResultBase != null) { if (!(item is IDiscoveryPluginResultMerge pluginResultMerge)) { PartialDiscoveryResultsContainer._log.WarnFormat("Plugin discovery results '{0}' do not implement IDiscoveryPluginResultMerge interface and will not be merged with other results instances.", (object)((object)item).GetType()); } else { pluginResultMerge.MergeResults(pluginResultBase, resultObjectMapping, profileId); pluginResultBaseList.Add(pluginResultBase); } } } }
// Token: 0x06000623 RID: 1571 RVA: 0x00024F78 File Offset: 0x00023178 public IEnumerable <DiscoveryPluginConfigurationBase> DeserializePluginConfigurationItems(List <string> discoveryPluginConfigurationBaseItems) { List <DiscoveryPluginConfigurationBase> list = new List <DiscoveryPluginConfigurationBase>(); foreach (string text in discoveryPluginConfigurationBaseItems) { DiscoveryPluginItems <DiscoveryPluginConfigurationBase> collection = new DiscoveryPluginItems <DiscoveryPluginConfigurationBase>(text); list.AddRange(collection); } return(list); }
public IEnumerable <DiscoveryPluginConfigurationBase> DeserializePluginConfigurationItems( List <string> discoveryPluginConfigurationBaseItems) { List <DiscoveryPluginConfigurationBase> configurationBaseList = new List <DiscoveryPluginConfigurationBase>(); foreach (string configurationBaseItem in discoveryPluginConfigurationBaseItems) { DiscoveryPluginItems <DiscoveryPluginConfigurationBase> discoveryPluginItems = new DiscoveryPluginItems <DiscoveryPluginConfigurationBase>(configurationBaseItem); configurationBaseList.AddRange((IEnumerable <DiscoveryPluginConfigurationBase>)discoveryPluginItems); } return((IEnumerable <DiscoveryPluginConfigurationBase>)configurationBaseList); }