public MessagePaginator() : base ( new Dictionary <string, IPropertySorter <MessageModel> >(StringComparer.OrdinalIgnoreCase) { [nameof(MessageModel.Created)] = PropertySorter <MessageModel> .For(x => x.Created), [nameof(MessageModel.LastModified)] = PropertySorter <MessageModel> .For(x => x.LastModified), [nameof(MessageModel.Message)] = PropertySorter <MessageModel> .For(x => x.Message), [nameof(MessageModel.Username)] = PropertySorter <MessageModel> .For(x => x.Username), [nameof(MessageModel.Id)] = PropertySorter <MessageModel> .For(x => x.Id) } ) { }
public ActionResult SortProperties(string propertyResultsSort = "", int propertyResultsAmount = 25) { Session["CurrentSearchResultsAmount"] = propertyResultsAmount; Session["CurrentSearchResultsSort"] = propertyResultsSort; ViewBag.propertyResultsSort = propertyResultsSort; ViewBag.propertyResultsAmount = propertyResultsAmount; //get paged list out of session // var props = (List<Property>)Session["LastSearchResults"]; var filteredResults = (List <Property>)Session["LastSearchResults"]; //run through filtering var sorter = new PropertySorter(); if (propertyResultsSort != "") { var returnList = sorter.SortProperty(filteredResults, propertyResultsSort); } //put filtered results back in session Session["LastSearchResults"] = PagedList.PagedListExtensions.ToPagedList(filteredResults, 1, propertyResultsAmount); //which page are we on of the results - reset Session["LastPropertyPagerPage"] = 1; //every sort starts on page one, no page //pass to view ViewBag.MatchingProperties = PagedList.PagedListExtensions.ToPagedList(filteredResults, 1, propertyResultsAmount); Session["currentPagedPropertySearch"] = PagedList.PagedListExtensions.ToPagedList(filteredResults, 1, 500000); return(View("SearchProperties")); }
private void PreProcess(List<CustomPropertyDescriptor> pdl) { if (propertySortOrder != CustomSortOrder.None && pdl.Count > 0) { var propSorter = new PropertySorter(); propSorter.SortOrder = propertySortOrder; pdl.Sort(propSorter); } UpdateCategoryTabAppendCount(); UpdateResourceManager(); }