public ViewResult Index(int? page, string sort, string sortdir)
{
ViewBag.RowsPerPage = BgResources.Pager_CategoriesPerPage;
ViewBag.TotalCategories = NewsletterServices.TotalNumberOfEntity();
var pageIndex = page ?? 0;
bool dir;
if (sortdir == null)
{
dir = false;
}
else
{
dir = sortdir.Equals("ASC", StringComparison.CurrentCultureIgnoreCase) ? true : false;
}
if (sort == null)
{
return View(NewsletterServices.RetrievePaged(pageIndex, Int32.Parse(BgResources.Pager_CategoriesPerPage), s => s.DateCreated, false));
}
else
{
switch (sort.ToLower())
{
case "name":
return View(NewsletterServices.RetrievePaged(pageIndex, Int32.Parse(BgResources.Pager_CategoriesPerPage), s => s.Name, dir));
case "datecreated":
return View(NewsletterServices.RetrievePaged(pageIndex, Int32.Parse(BgResources.Pager_CategoriesPerPage), s => s.DateCreated, dir));
case "haspendingtasks":
return View(NewsletterServices.RetrievePaged(pageIndex, Int32.Parse(BgResources.Pager_CategoriesPerPage), s => s.HasPendingTasks, false));
default:
return View(NewsletterServices.RetrievePaged(pageIndex, Int32.Parse(BgResources.Pager_CategoriesPerPage), s => s.DateCreated, false));
}
}
}