private NewsContainerModel GetNews(int skip, int take) { var query = Parameter.Below(CurrentPage).Skip(skip).Take(take + 1).OrderBy("Published DESC"); var news = finder.Find(query).OfType <News>().ToList(); //IList<News> news = finder.Where.Type.Eq(typeof(News)) // .And.Parent.Eq(CurrentPage) // .FirstResult(skip) // .MaxResults(take + 1) // .OrderBy.Published.Desc // .Select<News>(); return(CreateModel(skip, take, news)); }
public virtual IEnumerable <ISyndicatable> GetItems() { ParameterCollection query = Parameter.Equal(SyndicatableDefinitionAppender.SyndicatableDetailName, true).Detail(); if (FeedRoot != null) { query &= Parameter.Below(FeedRoot); } foreach (ISyndicatable item in repository.Find(query.Take(NumberOfItems).OrderBy("Published DESC")) .Where(new TypeFilter(typeof(ISyndicatable)) & new AccessFilter()) .OfType <ISyndicatable>()) { yield return(item); } }
private NewsContainerModel GetNews(string tag, int skip, int take) { //IList<News> news = finder.Where.Type.Eq(typeof(News)) // .And.Parent.Eq(CurrentPage) // .And.Detail("Tags").Like(tag) // .FirstResult(skip) // .MaxResults(take + 1) // .OrderBy.Published.Desc // .Select<News>(); var query = (Parameter.Below(CurrentPage) & Parameter.Like("Tags", tag).Detail()).Skip(skip).Take(take + 1).OrderBy("Published DESC"); var news = finder.Find(query).OfType <News>().ToList(); var model = CreateModel(skip, take, news); model.Tag = tag; return(model); }
public override System.Web.Mvc.ActionResult Index() { string viewName = CurrentItem.Boxed ? "BoxedList" : "List"; ContentItem root = CurrentItem.Container ?? N2.Find.Closest <LanguageRoot>(CurrentPage) ?? N2.Find.StartPage; if (root == null) { return(View(viewName, Enumerable.Empty <News>())); } //var news = N2.Find.Items.Where.Type.Eq(typeof(News)) // .And.AncestralTrail.Like(Utility.GetTrail(root) + "%") // .OrderBy.Published.Desc // .Filters(new AccessFilter(), new PublishedFilter()) // .MaxResults(CurrentItem.MaxNews) // .Select<News>(); var parameters = Parameter.Below(root) & Parameter.State(ContentState.Published) & Parameter.TypeEqual(typeof(News).Name); var news = repository.Find(parameters.Take(CurrentItem.MaxNews).OrderBy("Published DESC")) .OfType <News>().ToList(); return(View(viewName, news.Where(Content.Is.Accessible()))); }