public async Task <ActionResult> ItemList(string name, int p = 1) { var tag = await _tagDbCommand.FindAsync(name); if (tag == null) { return(HttpNotFound()); } var skip = MaxItemsOnPage * (p - 1); var count = await _itemDbCommand.CountPublicByTagAsync(tag); var items = await _itemDbCommand.GetPublicByTagAsync(tag, skip, MaxItemsOnPage); ViewBag.CurrentPage = p; ViewBag.HasPreviousPage = (p > 1); ViewBag.HasNextPage = (count > MaxItemsOnPage * p); ViewBag.TagName = tag.Name; return(View(Mapper.Map <IEnumerable <ItemIndexModel> >(items))); }