public void ImportDiscoveryResultsForConfiguration( DiscoveryImportConfiguration importCfg, Guid importID) { DiscoveryLogic.log.DebugFormat("Loading discovery results.", Array.Empty <object>()); if (DiscoveryProfileEntry.GetProfileByID(importCfg.get_ProfileID()) == null) { throw new Exception(string.Format("Requested profile {0} not found.", (object)importCfg.get_ProfileID())); } DiscoveryImportManager.UpdateProgress(importID, "ImportDiscoveryResults Started", "Loading Plugins", false); IList <IDiscoveryPlugin> discoveryPlugins = DiscoveryHelper.GetOrderedDiscoveryPlugins(); SortedDictionary <int, List <IDiscoveryPlugin> > orderedPlugins = DiscoveryPluginHelper.GetOrderedPlugins(discoveryPlugins, (IList <DiscoveryPluginInfo>)DiscoveryHelper.GetDiscoveryPluginInfos()); DiscoveryResultBase discoveryResult = DiscoveryResultManager.GetDiscoveryResult(importCfg.get_ProfileID(), discoveryPlugins); DiscoveryResultBase result1; if (importCfg.get_NodeIDs().Count > 0) { DiscoveryLogic.log.DebugFormat("Nodes to be imported : {0}", (object)importCfg.get_NodeIDs().Count); using (List <DiscoveredNode> .Enumerator enumerator = ((CoreDiscoveryPluginResult)discoveryResult.GetPluginResultOfType <CoreDiscoveryPluginResult>()).get_DiscoveredNodes().GetEnumerator()) { while (enumerator.MoveNext()) { DiscoveredNode current = enumerator.Current; if (importCfg.get_NodeIDs().Contains(current.get_NodeID())) { ((DiscoveredObjectBase)current).set_IsSelected(true); } else { ((DiscoveredObjectBase)current).set_IsSelected(false); } } } using (List <DiscoveryPluginResultBase> .Enumerator enumerator = this.Linearize((IEnumerable <DiscoveryPluginResultBase>)discoveryResult.get_PluginResults()).GetEnumerator()) { while (enumerator.MoveNext()) { DiscoveryPluginResultBase current = enumerator.Current; DiscoveryPluginResultBase pluginResultBase = !(current is IDiscoveryPluginResultContextFiltering contextFiltering) ? current.GetFilteredPluginResult() : contextFiltering.GetFilteredPluginResultFromContext(discoveryResult); discoveryResult.get_PluginResults().Remove(current); discoveryResult.get_PluginResults().Add(pluginResultBase); DiscoveryLogic.log.DebugFormat("Applying filters for pluggin - {0}.", (object)current.get_PluginTypeName()); } } result1 = this.FilterIgnoredItems(discoveryResult); } else { result1 = discoveryResult; } result1.set_ProfileID(importCfg.get_ProfileID()); DiscoveryLogic.log.DebugFormat("Importing started.", Array.Empty <object>()); if (importCfg.get_DeleteProfileAfterImport()) { DiscoveryImportManager.StartImport(importID, result1, orderedPlugins, false, (DiscoveryImportManager.CallbackDiscoveryImportFinished)((result, importId, importStatus) => this.DeleteOrionDiscoveryProfile(result.get_ProfileID()))); } else { DiscoveryImportManager.StartImport(importID, result1, orderedPlugins); } }