Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }