private static AppliedFilterViewModel PopulateAppliedFilterViewModel( IBaseSearchablePageViewModel searchablePageViewModel, string currentFilter ) { var appliedFilter = searchablePageViewModel.Filters.Single( filter => FilterOptionsContainsFilter(currentFilter, filter.FilterOptions) ); return(new AppliedFilterViewModel( GetFilterDisplayText(currentFilter, appliedFilter.FilterOptions), appliedFilter.FilterName, GetFilterValue(currentFilter, appliedFilter.FilterOptions) )); }
public IViewComponentResult Invoke( IBaseSearchablePageViewModel searchablePageViewModel ) { var currentFilters = searchablePageViewModel.ExistingFilterString?.Split(FilteringHelper.FilterSeparator).ToList() ?? new List <string>(); var appliedFilters = currentFilters.Select( currentFilter => PopulateAppliedFilterViewModel(searchablePageViewModel, currentFilter) ); var model = new CurrentFiltersViewModel( appliedFilters, searchablePageViewModel.SearchString, searchablePageViewModel.SortBy, searchablePageViewModel.SortDirection, searchablePageViewModel.ItemsPerPage, searchablePageViewModel.RouteData ); return(View(model)); }