public ActionResult Search(bool?isBack) { if (isBack != null && isBack.Value == true && Session["doc_sc"] != null) { int ItemsCount = (int)Session["doc_ic"]; int?p = (int?)Session["doc_p"]; return(Search(null, ItemsCount, p)); } //DocumentsSortCriteria sortCriteria = new DocumentsSortCriteria() //{ // SortDirection = SortDirection.Descending, // SortType = DocumentSortType.CreateDate //}; DocumentSearchViewModel viewModel = new DocumentSearchViewModel() { //SortCriteria = sortCriteria, SearchCriteria = new DocumentsSearchCriteria() { ItemsCount = 10 }, IsSearchPerformed = false, Categories = _dictRepository.GetCategories().ToList(), Senders = _dictRepository.GetSenders().ToList(), Types2 = _dictRepository.GetTypes2().ToList() }; return(View(viewModel)); }
public ActionResult Search(FormCollection formValues, int ItemsCount, int?p) { int?page = p; int itemsOnPage = ItemsCount; DocumentsSearchCriteria searchCriteria = new DocumentsSearchCriteria(); if (formValues != null) { UpdateModel <DocumentsSearchCriteria>(searchCriteria, formValues.AllKeys); } else { searchCriteria = Session["doc_sc"] as DocumentsSearchCriteria; } // olewamy sortowanie bo zmniejsza wydajnoϾ //DocumentsSortCriteria sortCriteria = new DocumentsSortCriteria(); //if (formValues != null) // UpdateModel<DocumentsSortCriteria>(sortCriteria, formValues.AllKeys); //else // sortCriteria = Session["doc_soc"] as DocumentsSortCriteria; DocumentSearchViewModel viewModel = new DocumentSearchViewModel() { SearchCriteria = searchCriteria, //SortCriteria = sortCriteria, //SearchResults = new PaginatedList<DocumentDetails>(_repository.SearchDocuments(searchCriteria).SortDocuments(sortCriteria).AsQueryable<DocumentDetails>(), page ?? 0, itemsOnPage), IsSearchPerformed = true, Categories = _dictRepository.GetCategories().ToList(), Senders = _dictRepository.GetSenders().ToList(), Types2 = _dictRepository.GetTypes2().ToList() }; Session["doc_sc"] = searchCriteria; //Session["doc_soc"] = sortCriteria; Session["doc_ic"] = ItemsCount; Session["doc_p"] = p; if (searchCriteria.CategoryID.HasValue) { viewModel.Types = _dictRepository.GetTypes(searchCriteria.CategoryID.Value).ToList(); } return(View(viewModel)); }