Exemple #1
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"));
        }