Exemplo n.º 1
0
        /// <summary>
        /// Returns the blog setting.
        /// </summary>
        /// <param name="nav"></param>
        /// <returns></returns>
        /// <remarks>
        /// Cached for 20 minutes.
        /// </remarks>
        public static BlogSetting GetBlogSetting(Nav nav)
        {
            string key = BlogHelper.GetCacheKey_BlogSetting(nav.Slug);
            BlogSetting setting = SiteCache.Get(key) as BlogSetting;
            if (setting != null)
                return setting;

            setting = new BlogSetting();
            Obj obj = AdminManager.GetObject(nav.NavId, BlogSetting.KEY);
            if (obj == null)
            {
                AdminManager.SaveObject(nav.NavId, BlogSetting.KEY, ObjFormat.Xml, setting);
                SiteCache.Add(key, setting, new TimeSpan(0, 20, 0));
                return setting;
            }

            setting = (BlogSetting)Serializer.ConvertToObject(obj.Data, typeof(BlogSetting));

            SiteCache.Add(key, setting, new TimeSpan(0, 20, 0));
            return setting;
        }
Exemplo n.º 2
0
        /// <summary>
        /// Saves blog setting.
        /// </summary>
        /// <param name="nav"></param>
        /// <param name="newSetting"></param>
        public static void SaveBlogSetting(Nav nav, BlogSetting newSetting)
        {
            var currentSetting = BlogApp.GetBlogSetting(nav);

            currentSetting.Background = newSetting.Background;
            currentSetting.TagBackColor = newSetting.TagBackColor;
            currentSetting.TagTextColor = newSetting.TagTextColor;
            currentSetting.DisqusShortName = newSetting.DisqusShortName;

            AdminManager.SaveObject(nav.NavId, BlogSetting.KEY, ObjFormat.Xml, currentSetting);
            SiteCache.Remove(BlogHelper.GetCacheKey_BlogSetting(nav.Slug));
        }
Exemplo n.º 3
0
 public ActionResult Settings(string navSlug, BlogSetting newSetting)
 {
     var nav = AdminManager.GetNav(navSlug);
     BlogApp.SaveBlogSetting(nav, newSetting);
     return View(BlogApp.GetBlogSetting(nav));
 }