public void LoadData() { if (_isConfigured) { return; } if (!File.Exists(_sourceFilePath)) { return; } var document = new XmlDocument(); document.Load(_sourceFilePath); var configNode = document.SelectSingleNode("//Settings"); if (configNode == null) { return; } foreach (var node in configNode.SelectNodes("./SolutionHeader")?.OfType <XmlNode>().ToArray() ?? new XmlNode[] { }) { HeaderItems.Add(ListDataItem.FromXml(node)); } foreach (var node in configNode.SelectNodes("./SolutionCombo1")?.OfType <XmlNode>().ToArray() ?? new XmlNode[] { }) { Combo1Items.Add(ListDataItem.FromXml(node)); } foreach (var node in configNode.SelectNodes("./Toggles/Toggle")?.OfType <XmlNode>().ToArray() ?? new XmlNode[] { }) { var id = node.Attributes?.OfType <XmlAttribute>() .FirstOrDefault(a => String.Equals(a.Name, "Id", StringComparison.OrdinalIgnoreCase))?.Value?.ToLower(); switch (id) { case PositioningId: Positioning = PositioningInfo.FromXml(node); break; case ResearchId: Research = ResearchInfo.FromXml(node); break; case StyleId: Style = StyleInfo.FromXml(node, _imagesFolder, ProductId); break; } } HeaderConfiguration = TextEditorConfiguration.FromXml(configNode, "SolutionHeader"); Combo1Configuration = TextEditorConfiguration.FromXml(configNode, "SolutionCombo1"); _isConfigured = true; }
private ProductInfo(string title, string sourceFile, StorageDirectory imagesFolder) { Title = title; _sourceFilePath = sourceFile; ProductId = Path.GetFileNameWithoutExtension(_sourceFilePath); _imagesFolder = imagesFolder; HeaderItems = new List <ListDataItem>(); HeaderConfiguration = TextEditorConfiguration.Empty(); Combo1Items = new List <ListDataItem>(); Combo1Configuration = TextEditorConfiguration.Empty(); Positioning = PositioningInfo.Empty(); Research = ResearchInfo.Empty(); Style = StyleInfo.Empty(); }