public ActionResult FullArticle( string category, string linkText ) { using( var container = new GhostmonkMainSiteModelContainer() ) { var entries = ( from entry in container.Articles from cat in entry.Categories where cat.Value == category select entry ).ToList(); var target = string.IsNullOrEmpty( linkText ) ? entries.First() : entries.Where( article => article.LinkText == linkText ).First(); target = target ?? entries.First(); target.Assets.ToList(); return View( target ); } }
public PartialViewResult HtmlBlogFeed( int? page ) { using( var container = new GhostmonkMainSiteModelContainer() ) { var blogArticleQuery = container.Articles .SelectMany( entry => entry.Categories, ( entry, cat ) => new { entry, cat } ) .Where( @t => @t.cat.Value == "Blog" ); int lastPage = ( blogArticleQuery.Count() - 1 ) / POSTS_PER_PAGE; int start = ( page ?? 0 ) * POSTS_PER_PAGE; start = Math.Min( start, lastPage * POSTS_PER_PAGE ); var records = blogArticleQuery.OrderByDescending( @t => @t.entry.PublishDate ) .Select( @t => @t.entry ).Skip( start ).Take( POSTS_PER_PAGE ).ToList(); records.ForEach( article => article.Assets.ToList() ); return PartialView( "HtmlBlogFeed", records ); } }