public ActionResult UserLists(int?id, int?page, int?items, string sortOrder, string currentFilter)
        {
            ViewData["NameSortParm"]  = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "";
            ViewData["CountSortParm"] = sortOrder == "count" ? "count_desc" : "count";

            var LoggedUserId = _userService.GetLoggedInUserId();

            if (!id.HasValue)
            {
                id = LoggedUserId;
            }
            var user = _userService.Find(id);

            if (user == null || !id.HasValue)
            {
                return(NotFound());
            }

            IQueryable <UserList> userlists = _userListService.OwnerUserLists(id);

            userlists = _userListService.FilterByList(currentFilter, userlists);
            userlists = _userListService.SortList(sortOrder, userlists);
            var model = new UserUserListsViewModel
            {
                AppUser      = user,
                ListTypes    = _listTypeService.GetAll().ToList(),
                UserLists    = PaginatedList <UserList> .Create(userlists.AsNoTracking(), page, items),
                LoggedUserId = LoggedUserId
            };

            model.UserLists.Pagination.Configure(
                this.ControllerContext.ActionDescriptor.ActionName.ToString(), id, null, currentFilter, sortOrder);
            ViewBag.IsOwner = _userService.IsOwner(id);
            return(View(model));
        }
        public ActionResult Manage(int?page, int?items, string sortOrder, string currentFilter)
        {
            ViewData["IdSortParm"]      = String.IsNullOrEmpty(sortOrder) ? "id_desc" : "";
            ViewData["AddDateSortParm"] = sortOrder == "adddate" ? "adddate_desc" : "adddate";
            ViewData["NameSortParm"]    = sortOrder == "name" ? "name_desc" : "name";
            ViewData["UserSortParm"]    = sortOrder == "user" ? "user_desc" : "user";
            ViewData["TypeSortParm"]    = sortOrder == "type" ? "type_desc" : "type";
            var userlists = _userListService.FilterSearch(currentFilter);

            userlists = _userListService.SortList(sortOrder, userlists);

            var result = PaginatedList <UserList> .Create(userlists.AsNoTracking(), page, items);

            result.Pagination.Configure("manage", currentFilter, sortOrder);
            return(View(result));
        }