public async Task <IActionResult> Index() { var stories = await newsRepository.All().EagerLoad().ForPage(1).ResultsAsync(); ViewBag.CurrentPage = "News"; ViewBag.CurrentPageNo = 1; return(View(new NewsViewModel() { Stories = stories.Select(s => NewsStoryDTO.ToDTO(s)), PageNumbers = GetPageNumbers() })); }
public async Task <IActionResult> Page(int pageNo) { if (pageNo == 1) { return(RedirectToActionPermanent("Index")); } var stories = await newsRepository.All().EagerLoad().ForPage(pageNo).ResultsAsync(); ViewBag.CurrentPage = "News"; ViewBag.CurrentPageNo = pageNo; return(View(new NewsViewModel() { Stories = stories.Select(s => NewsStoryDTO.ToDTO(s)), PageNumbers = GetPageNumbers() })); }
public async Task <IActionResult> ViewStory(int id, string title) { var article = await newsRepository.GetByIdAsync(id, true); if (article.IsNull()) { return(NotFound()); } var friendlyUrl = StringExtensions.URLFriendly(article.Title); if (!string.Equals(friendlyUrl, title, StringComparison.Ordinal)) { return(RedirectToRoutePermanent("", new { id, title = friendlyUrl })); } ViewBag.CurrentPage = "News"; return(View(NewsStoryDTO.ToDTO(article))); }