public static List<ImplementationConversionCollection> LoadImplementationConversions() { var implementationConversions = new List<ImplementationConversionCollection>(); if (File.Exists(implementationsFilePath)) { try { XmlDocument implDoc = new XmlDocument(); implDoc.Load(implementationsFilePath); XmlNodeList sourceNodes = implDoc.SelectNodes("/implementations/source"); foreach (XmlNode sourceNode in sourceNodes) { string collection = sourceNode.Attributes["definitions"].InnerText; ImplementationConversionCollection newCollection = new ImplementationConversionCollection(); newCollection.ImplementationSet = collection; foreach (XmlNode childNode in sourceNode.ChildNodes) { if (childNode.Name != "add") continue; string item = childNode.Attributes["item"].InnerText; Guid guid = Guid.Empty; XmlNode guidNode = childNode.SelectSingleNode("guid"); if (guidNode != null) guid = new Guid(guidNode.InnerText); string configuration = null; XmlNode configurationNode = childNode.SelectSingleNode("configuration"); if (configurationNode != null) configuration = configurationNode.InnerText; ComponentDescription description = ComponentHelper.FindDescription(guid); if (description != null) { ImplementationConversion newConversion = new ImplementationConversion(); newConversion.ImplementationName = item; newConversion.ToName = description.ComponentName; newConversion.ToGUID = description.Metadata.GUID; ComponentConfiguration theConfiguration = null; if (configuration != null) { theConfiguration = description.Metadata.Configurations.FirstOrDefault(check => check.Name == configuration); if (theConfiguration != null) { newConversion.ToConfiguration = theConfiguration.Name; if (theConfiguration.Icon != null) newConversion.ToIcon = theConfiguration.Icon; else newConversion.ToIcon = description.Metadata.Icon; } else if (description.Metadata.Icon != null) newConversion.ToIcon = description.Metadata.Icon; } else if (description.Metadata.Icon != null) newConversion.ToIcon = description.Metadata.Icon; newCollection.Items.Add(newConversion); ComponentHelper.SetStandardComponent(newCollection.ImplementationSet, newConversion.ImplementationName, description, theConfiguration); } } implementationConversions.Add(newCollection); } } catch (Exception) { // Invalid XML file } } return implementationConversions; }
public static List <ImplementationConversionCollection> LoadImplementationConversions() { var implementationConversions = new List <ImplementationConversionCollection>(); if (File.Exists(implementationsFilePath)) { try { XmlDocument implDoc = new XmlDocument(); implDoc.Load(implementationsFilePath); XmlNodeList sourceNodes = implDoc.SelectNodes("/implementations/source"); foreach (XmlNode sourceNode in sourceNodes) { string collection = sourceNode.Attributes["definitions"].InnerText; ImplementationConversionCollection newCollection = new ImplementationConversionCollection(); newCollection.ImplementationSet = collection; foreach (XmlNode childNode in sourceNode.ChildNodes) { if (childNode.Name != "add") { continue; } string item = childNode.Attributes["item"].InnerText; Guid guid = Guid.Empty; XmlNode guidNode = childNode.SelectSingleNode("guid"); if (guidNode != null) { guid = new Guid(guidNode.InnerText); } string configuration = null; XmlNode configurationNode = childNode.SelectSingleNode("configuration"); if (configurationNode != null) { configuration = configurationNode.InnerText; } ComponentDescription description = ComponentHelper.FindDescription(guid); if (description != null) { ImplementationConversion newConversion = new ImplementationConversion(); newConversion.ImplementationName = item; newConversion.ToName = description.ComponentName; newConversion.ToGUID = description.Metadata.GUID; ComponentConfiguration theConfiguration = null; if (configuration != null) { theConfiguration = description.Metadata.Configurations.FirstOrDefault(check => check.Name == configuration); if (theConfiguration != null) { newConversion.ToConfiguration = theConfiguration.Name; if (theConfiguration.Icon != null) { newConversion.ToIcon = theConfiguration.Icon; } else { newConversion.ToIcon = description.Metadata.Icon; } } else if (description.Metadata.Icon != null) { newConversion.ToIcon = description.Metadata.Icon; } } else if (description.Metadata.Icon != null) { newConversion.ToIcon = description.Metadata.Icon; } newCollection.Items.Add(newConversion); ComponentHelper.SetStandardComponent(newCollection.ImplementationSet, newConversion.ImplementationName, description, theConfiguration); } } implementationConversions.Add(newCollection); } } catch (Exception) { // Invalid XML file } } return(implementationConversions); }