public static Configuration LoadConfiguration(XmlDocument doc) { var config = new Configuration(); // Load Extension Configurations foreach (XmlNode node in doc.SelectNodes("RenExConfig/ExtensionConfig")) { Configuration.ExtensionConfig extCfg = new Configuration.ExtensionConfig { Name = node.Attributes["name"].InnerText, MaximumExtensions = Int32.Parse(node.Attributes["maxExt"].InnerText) }; XmlNode validatorNode = node.SelectSingleNode("FileExtLenValidator"); if (validatorNode != null) { extCfg.Validator = new FileExtLengthValidator( Int32.Parse(validatorNode.Attributes["min"].InnerText), Int32.Parse(validatorNode.Attributes["max"].InnerText)); } validatorNode = node.SelectSingleNode("FileExtListValidator"); if (validatorNode != null) { String[] exts = validatorNode.InnerText.Split(';'); for (int i = 0; i < exts.Length; i++) exts[i] = exts[i].Trim(' '); extCfg.Validator = new FileExtListValidator(exts); } config.ExtensionConfigs[extCfg.Name] = extCfg; } // Load Saved Rules foreach (RenamingRule rule in from XmlNode node in doc.SelectNodes("RenExConfig/Rule") select ReadRule(node)) { config.Rules[rule.Name] = rule; } // Load Regex Templates foreach (XmlNode node in doc.SelectNodes("RenExConfig/RegexTemplate")) { String name = node.Attributes["name"].InnerText; String template = node.InnerText; config.RegexTemplates[name] = template; } return config; }
private Configuration.ExtensionConfig GetConfigurationFromUi() { Configuration.ExtensionConfig config = new Configuration.ExtensionConfig(); config.Name = txtExtName.Text; config.MaximumExtensions = (Int32) nudExtMaxExt.Value; if (radExtLenVal.Checked) config.Validator = new FileExtLengthValidator((Int32) nudExtLenMin.Value, (Int32) nudExtLenMax.Value); else config.Validator = new FileExtListValidator(from ext in txtExtList.Text.Split(';') select ext.Trim(' ')); return config; }