示例#1
0
        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)
                       ));
        }
示例#2
0
        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));
        }