public ActionResult Tags(Tag tag)
 {
     if (ModelState.IsValid)
     {
         // add to context
         BlogPostRepo.AddTag(tag);
         // submit changes
         // BlogPostRepo.SubmitChanges();
         // redirect to category management index
         TempData[vinCMS.Infraestructure.Constants.VIEW_MESSAGE] = SUCCESS_TAG_ADD;
         return RedirectToAction("tags");
     }
     else
     {
         // return the same view
         var tagViewModel = new AdminTagViewModel
         {
             NewTag = tag,
             PagedListTags = new PagedList.StaticPagedList<Tag>(
                 BlogPostRepo.GetQueryableOrderedTags().Skip(0).Take(TAGS_PER_PAGE).ToList(),
                 0,
                 TAGS_PER_PAGE,
                 BlogPostRepo.GetQueryableTags().Count()
                 )
         };
         // the view will show a series of validation error messages
         return View(tagViewModel);
     }
 }
 public ViewResult Tags(int page = 0)
 {
     // get IQueryable of categories
     StaticPagedList<Tag> pagedListTags = new StaticPagedList<Tag>(
         BlogPostRepo.GetQueryableOrderedTags().Skip(page * TAGS_PER_PAGE).Take(TAGS_PER_PAGE).ToList(),
         page,
         TAGS_PER_PAGE,
         BlogPostRepo.GetQueryableTags().Count());
     // prepare view model
     AdminTagViewModel tagViewModel = new AdminTagViewModel
     {
         NewTag = new Tag(),
         PagedListTags = pagedListTags
     };
     // renders view
     return View(tagViewModel);
 }