public async Task <IActionResult> Index(int?pageNumber)
        {
            int pageSize        = _configuration.GetValue <int>("IndexPageSize");
            var activities      = _dbContext.Activities.AsNoTracking().OrderBy(a => a.Date);
            var pagedActivities = await PaginatedList <Activity> .CreatePagedResultAsync(activities, pageNumber ?? 1, pageSize);

            var modelItems = _mapper.Map <PaginatedList <Activity>, PaginatedList <ActivityIndexViewModel> >(pagedActivities);

            return(View(modelItems));
        }
        public async Task <IActionResult> FilterActivities([FromBody] ActivitySearchFilterModel filterModel)
        {
            int pageSize           = _configuration.GetValue <int>("IndexPageSize");
            var activities         = _dbContext.Activities.AsNoTracking().OrderBy(a => a.Date);
            var filteredActivities = FilterHelper.GetActivities(activities, filterModel);
            var pagedActivities    = await PaginatedList <Activity> .CreatePagedResultAsync(filteredActivities, filterModel.PageNumber, pageSize);

            var modelItems = _mapper.Map <PaginatedList <Activity>, PaginatedList <ActivityIndexViewModel> >(pagedActivities);

            return(PartialView("_ActivityList", modelItems));
        }