internal static List <ViewModels.Blog.Index> GetBlogIndex(XenonCMSContext db, HttpContextBase httpContext) { // Pull from cache string RequestDomain = Globals.GetRequestDomain(httpContext); string CacheKey = _BlogIndexKey + RequestDomain; var Result = (List <ViewModels.Blog.Index>)httpContext.Cache[CacheKey]; if (Result == null) { // Pull from database var BlogPosts = db.SiteBlogPosts.Where(x => x.Site.Domain == RequestDomain).OrderByDescending(x => x.DatePosted).ToArray(); if (BlogPosts != null) { // Database model to view model Result = ModelConverter.Convert <ViewModels.Blog.Index>(BlogPosts); // Add to cache DatabaseCache.AddBlogIndex(Result, httpContext); } } return(Result); }
internal static ViewModels.Blog.Details GetBlogDetails(int id, XenonCMSContext db, HttpContextBase httpContext) { // Pull from cache string RequestDomain = Globals.GetRequestDomain(httpContext); string CacheKey = _BlogDetailsKey + RequestDomain + "-" + id.ToString(); var Result = (ViewModels.Blog.Details)httpContext.Cache[CacheKey]; if (Result == null) { // Pull from database var BlogPost = db.SiteBlogPosts.SingleOrDefault(x => (x.Id == id) && (x.Site.Domain == RequestDomain)); if (BlogPost != null) { // Database model to view model Result = ModelConverter.Convert <ViewModels.Blog.Details>(BlogPost); // Add to cache DatabaseCache.AddBlogDetails(Result, httpContext); } } return(Result); }