public IActionResult Index( string?searchString = null, string?sortBy = null, string sortDirection = BaseSearchablePageViewModel.Ascending, string?filterBy = null, string?filterValue = null, int page = 1 ) { sortBy ??= DefaultSortByOptions.Name.PropertyName; filterBy = FilteringHelper.GetFilterBy( filterBy, filterValue, Request, DelegateGroupsFilterCookieName ); var centreId = User.GetCentreId(); var groups = groupsService.GetGroupsForCentre(centreId).ToList(); var model = new DelegateGroupsViewModel( groups, GetRegistrationPromptsWithSetOptions(centreId), searchString, sortBy, sortDirection, filterBy, page ); Response.UpdateOrDeleteFilterCookie(DelegateGroupsFilterCookieName, filterBy); return(View(model)); }
public IActionResult Index( string?searchString = null, string?sortBy = null, string sortDirection = GenericSortingHelper.Ascending, string?existingFilterString = null, string?newFilterToAdd = null, bool clearFilters = false, int page = 1 ) { sortBy ??= DefaultSortByOptions.Name.PropertyName; existingFilterString = FilteringHelper.GetFilterString( existingFilterString, newFilterToAdd, clearFilters, Request, DelegateGroupsFilterCookieName ); var centreId = User.GetCentreId(); var groups = groupsService.GetGroupsForCentre(centreId).ToList(); var registrationPrompts = GetRegistrationPromptsWithSetOptions(centreId); var availableFilters = DelegateGroupsViewModelFilterOptions .GetDelegateGroupFilterModels(groups, registrationPrompts).ToList(); var searchSortPaginationOptions = new SearchSortFilterAndPaginateOptions( new SearchOptions(searchString), new SortOptions(sortBy, sortDirection), new FilterOptions(existingFilterString, availableFilters), new PaginationOptions(page) ); var result = searchSortFilterPaginateService.SearchFilterSortAndPaginate( groups, searchSortPaginationOptions ); var model = new DelegateGroupsViewModel( result, availableFilters ); Response.UpdateFilterCookie(DelegateGroupsFilterCookieName, result.FilterString); return(View(model)); }