Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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())));
        }