public IActionResult Page(int numberOfPage) { numberOfPage = numberOfPage < 1 ? _memeRespository.GetMaxPageNumber() : numberOfPage; _logger.LogDebug($"Given number of page: {numberOfPage}"); try { /* * var tags = _memeRespository.GetAllMemesByNewest().SelectMany(meme => meme.Tags).Distinct().ToList(); * ViewBag.Tags = tags; * * var memesByPage = _memeRespository.GetMemesByPage(numberOfPage); * ViewBag.PageRange = _memeRespository.GetPageNumberRange(numberOfPage); * ViewBag.SelectedPage = numberOfPage; * * ViewBag.WhiteListTags = HttpContext.Session.GetString("_whiteListTags"); * ViewBag.BlackListTags = HttpContext.Session.GetString("_blackListTags"); * * return View(memesByPage); */ var memesViewModel = new MemesViewModel { Memes = _memeRespository.GetMemesByPage(numberOfPage), AllTags = _memeRespository.GetAllTags(), WhiteListTagsAsString = HttpContext.Session.GetString("_whiteListTags"), BlackListTagsAsString = HttpContext.Session.GetString("_blackListTags"), PageNumbers = _memeRespository.GetPageNumberRange(numberOfPage), SelectedPage = numberOfPage }; return(View(memesViewModel)); } catch (ArgumentOutOfRangeException e) { return(View("~/Views/Error.cshtml", new string[] { "ArgumentOutOfRangeException", e.Message })); } }
public MemesPage() { InitializeComponent(); DataContext = new MemesViewModel(); }