Example #1
0
        public async Task <IActionResult> Bundles(bool unlockable = true, int page = 1)
        {
            var filter = new AvatarFilter(page)
            {
                Unlockable = unlockable
            };

            var bundleList = await _avatarService.GetPaginatedBundleListAsync(filter);

            var paginateModel = new PaginateViewModel()
            {
                ItemCount    = bundleList.Count,
                CurrentPage  = page,
                ItemsPerPage = filter.Take.Value
            };

            if (paginateModel.MaxPage > 0 && paginateModel.CurrentPage > paginateModel.MaxPage)
            {
                return(RedirectToRoute(
                           new
                {
                    page = paginateModel.LastPage ?? 1
                }));
            }

            var viewModel = new BundlesListViewModel()
            {
                Bundles       = bundleList.Data,
                PaginateModel = paginateModel,
                Unlockable    = unlockable
            };

            PageTitle = "Avatar Bundles";
            return(View(viewModel));
        }