Inheritance: ExpandableObjectConverter
 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)
 }
     )
 {
 }
Exemple #2
0
        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();
 }