/* * public void UpdateBundle(string configuration, string name, string content) * { * var config = getConfiguration(configuration); * var bundle = config.Bundles.FirstOrDefault(b=>b.Name.ToLower()==name.ToLower()); * if (bundle != null) * bundle.Content = content; * m_Persister.Save(config); * } * */ public void CreateOrUpdateBundle(string configuration, string name, string content) { var config = getConfiguration(configuration); var parts = name.Split(new[] { '.' }); BundleCollectionBase parentBundle = null; int i; for (i = parts.Length; i > 0 && parentBundle == null; i--) { var parent = string.Join(".", Enumerable.Range(0, i).Select(n => parts[n])); parentBundle = config.Bundles.FirstOrDefault(b => b.Name.ToLower() == parent.ToLower()); } if (parentBundle == null) { parentBundle = config; for (int j = 0; j < parts.Length; j++) { parentBundle = parentBundle.CreateBundle(parts[j]); } } else { for (int j = i + 1; j < parts.Length; j++) { parentBundle = parentBundle.CreateBundle(parts[j]); } } (parentBundle as Bundle).Content = content; m_Persister.Save(config); }
public void SaveConfiguration() { configurationPersister.Save(Configuration); }