public ActionResult Index(NewsListingPage currentPage, int page = 0) { var allChildren = _contentLoader.GetChildren <NewsDetailPage>(currentPage.ContentLink) .Where( x => DateTime.Compare(x.StartPublish, DateTime.Now) < 0 && DateTime.Compare(x.StopPublish, DateTime.Now) > 0) .OrderByDescending(x => x.StartPublish).ToList(); var count = allChildren.Count; var newDetailPages = allChildren.Skip(page * currentPage.ItemsPerLoad) .Take(currentPage.ItemsPerLoad).ToList(); ViewBag.ItemsPerLoad = currentPage.ItemsPerLoad; var isAjaxRequestLastPage = (page + 1) * currentPage.ItemsPerLoad >= count; var md = new NewsListingViewModel(currentPage) { NewsDetailPages = newDetailPages, IsAjaxRequestLastPage = isAjaxRequestLastPage }; if (HttpContext.Request.IsAjaxRequest() && page > 0) { if (newDetailPages.Any()) { return(PartialView("_NewsItems", md)); } return(Content("StringForEndingListingPage")); } return(View(md)); }
public IActionResult All() { var viewModel = new NewsListingViewModel(); var news = this.newsService.GetAll(); viewModel.News = news.Select(n => new NewsViewModel { Id = n.Id, Title = n.Title, Content = n.Content, PictureUrl = n.PictureUrl, CreatedOn = n.CreatedOn, Views = n.TimesSeen, }); return(this.View(viewModel)); }