/*
         *      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);
        }
Пример #2
0
 public void SaveConfiguration()
 {
     configurationPersister.Save(Configuration);
 }