/// <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; }
/// <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)); }
public ActionResult Settings(string navSlug, BlogSetting newSetting) { var nav = AdminManager.GetNav(navSlug); BlogApp.SaveBlogSetting(nav, newSetting); return View(BlogApp.GetBlogSetting(nav)); }