public ActionResult Index(PagableSortableCategoriesViewModel model)
        {
            int page            = model.CurrentPage;
            var categoriesCount = m_Categories.GetAllCategoriesCount();
            var sortType        = model.SortType;
            var sortDirection   = model.SortDirection;
            var totalPages      = (int)Math.Ceiling(categoriesCount / (decimal)CategoriesPerPage);

            var categories = m_Categories.GetCategoriesByPageAndSort(sortType, sortDirection, page, CategoriesPerPage).To <CategoryViewModel>().ToList();

            var viewModel = new PagableSortableCategoriesViewModel
            {
                CurrentPage   = page,
                TotalPages    = totalPages,
                SortType      = sortType,
                SortDirection = sortDirection,
                Categories    = categories
            };

            return(View(viewModel));
        }
        public ActionResult Index(PagableSortableCategoriesViewModel model)
        {
            int page = model.CurrentPage;
            var categoriesCount = this.categories.GetAllCategoriesCount();
            var sortType = model.SortType;
            var sortDirection = model.SortDirection;
            var totalPages = (int)Math.Ceiling(categoriesCount / (decimal)CategoriesPerPage);

            var categories = this.categories.GetCategoriesByPageAndSort(sortType, sortDirection, page, CategoriesPerPage).To<CategoryViewModel>().ToList();

            var viewModel = new PagableSortableCategoriesViewModel
            {
                CurrentPage = page,
                TotalPages = totalPages,
                SortType = sortType,
                SortDirection = sortDirection,
                Categories = categories
            };

            return this.View(viewModel);
        }