public ActionResult BlogHistory(AgilityContentItem module) { #region --- Get Blog Config and Repos --- var blogConfigRef = module["BlogConfiguration"] as string; AgilityContentItem blogConfig = null; IAgilityContentRepository <AgilityContentItem> blogPosts = null; IAgilityContentRepository <AgilityContentItem> blogCategories = null; IAgilityContentRepository <AgilityContentItem> blogTags = null; IAgilityContentRepository <AgilityContentItem> blogAuthors = null; BlogUtils.GetBlogConfig(blogConfigRef, out blogConfig, out blogPosts, out blogCategories, out blogTags, out blogAuthors); #endregion int numMonthsToDisplay; int.TryParse(string.Format("{0}", blogConfig["BlogHistoryMonthsMax"]), out numMonthsToDisplay); if (numMonthsToDisplay < 1) { numMonthsToDisplay = 12; } var months = new List <DateTime>(); for (var i = 0; i < numMonthsToDisplay; i++) { var month = DateTime.Now.AddMonths(-i); months.Add(month); } var model = new BlogLinkViewModel(); model.ShowCount = model.ShowCount = BlogUtils.GetBool(blogConfig["ShowPostCounts"]); model.Items = BlogUtils.GetBlogLinksWithPostCounts(blogConfig, blogPosts, months, model.ShowCount); model.SkipZeroPosts = true; model.Configuration = blogConfig; return(PartialView(AgilityComponents.TemplatePath("Blog-HistoryModule"), model)); }
public ActionResult BlogAuthorDetails(AgilityContentItem module) { HttpContext.Response.Cache.VaryByParams[BlogContext.PagingQueryStringKey] = true; #region --- Get Blog Config and Repos --- var blogConfigRef = module["BlogConfiguration"] as string; AgilityContentItem blogConfig = null; IAgilityContentRepository <AgilityContentItem> blogPosts = null; IAgilityContentRepository <AgilityContentItem> blogCategories = null; IAgilityContentRepository <AgilityContentItem> blogTags = null; IAgilityContentRepository <AgilityContentItem> blogAuthors = null; BlogUtils.GetBlogConfig(blogConfigRef, out blogConfig, out blogPosts, out blogCategories, out blogTags, out blogAuthors); #endregion var author = AgilityContext.GetDynamicPageItem <AgilityContentItem>(); if (!author.IsBlogAuthor()) { return(null); } #region --- Get Posts and set Pagination --- List <AgilityContentItem> posts = null; BlogPaginationViewModel pagination = null; if (BlogUtils.GetBool(module["DisplayRecentBlogPosts"])) { int pageSize = 10; int.TryParse(string.Format("{0}", module["PageSize"]), out pageSize); if (pageSize < 1) { pageSize = 10; } int pageNumber = 1; int.TryParse(Request.QueryString[BlogContext.PagingQueryStringKey] as string, out pageNumber); if (pageNumber < 1) { pageNumber = 1; } int skip = (pageNumber * pageSize) - pageSize; int totalCount = 0; //get the posts posts = BlogUtils.GetPosts(blogPosts, author.ContentID, "", "", "", "", "Date Desc", pageSize, skip, out totalCount); pagination = new BlogPaginationViewModel(pageNumber, pageSize, totalCount, true, 5, BlogContext.PagingQueryStringKey, "agility-active", "agility-disabled"); } #endregion var model = new BlogAuthorViewModel(); model.Author = author; model.Posts = posts; model.Module = module; model.Configuration = blogConfig; model.Pagination = pagination; return(PartialView(AgilityComponents.TemplatePath("Blog-AuthorDetailsModule"), model)); }
public ActionResult BlogTags(AgilityContentItem module) { #region --- Get Blog Config and Repos --- var blogConfigRef = module["BlogConfiguration"] as string; AgilityContentItem blogConfig = null; IAgilityContentRepository <AgilityContentItem> blogPosts = null; IAgilityContentRepository <AgilityContentItem> blogCategories = null; IAgilityContentRepository <AgilityContentItem> blogTags = null; IAgilityContentRepository <AgilityContentItem> blogAuthors = null; BlogUtils.GetBlogConfig(blogConfigRef, out blogConfig, out blogPosts, out blogCategories, out blogTags, out blogAuthors); #endregion var model = new BlogLinkViewModel(); model.ShowCount = BlogUtils.GetBool(blogConfig["ShowPostCounts"]); model.Items = BlogUtils.GetBlogLinksWithPostCounts(blogConfig, blogPosts, blogTags, model.ShowCount); model.Configuration = blogConfig; return(PartialView(AgilityComponents.TemplatePath("Blog-TagsModule"), model)); }