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