private List <SearchGroup> GetSearchGroups(Search1ViewModel model) { List <SearchGroup> searchGroups = null; if (!string.IsNullOrEmpty(model.FieldPropertyAliases)) { searchGroups = new List <SearchGroup>(); searchGroups.Add(new SearchGroup(model.FieldPropertyAliases.Split(','), model.SearchTerm.Split(' '))); } return(searchGroups); }
public ActionResult SubmitSearchForm(Search1ViewModel model) { if (ModelState.IsValid) { if (!string.IsNullOrEmpty(model.SearchTerm)) { model.SearchTerm = model.SearchTerm; model.SearchGroups = GetSearchGroups(model); model.SearchResults = _searchHelper.GetSearchResults(model, Request.Form.AllKeys); } return(RenderSearchResults(model.SearchResults)); } return(null); }
/// <summary> /// Gets the search results model from the search term/// /// </summary> /// <param name="searchModel">The search model with search term and other settings in it</param> /// <param name="allKeys">The form keys that were submitted</param> /// <returns>A SearchResultsModel object loaded with the results</returns> public SearchResultsModel GetSearchResults(Search1ViewModel searchModel, string[] allKeys) { SearchResultsModel resultsModel = new SearchResultsModel(); resultsModel.SearchTerm = searchModel.SearchTerm; resultsModel.PageNumber = GetPageNumber(allKeys); ISearchResults allResults = SearchUsingExamine(searchModel.DocTypeAliases.Split(','), searchModel.SearchGroups); resultsModel.TotalItemCount = (int)allResults.TotalItemCount; resultsModel.Results = GetResultsForThisPage(allResults, resultsModel.PageNumber, searchModel.PageSize); resultsModel.PageCount = Convert.ToInt32(Math.Ceiling((decimal)resultsModel.TotalItemCount / (decimal)searchModel.PageSize)); resultsModel.PagingBounds = GetPagingBounds(resultsModel.PageCount, resultsModel.PageNumber, searchModel.PagingGroupSize); return(resultsModel); }
public ActionResult RenderSearchForm(string query, string docTypeAliases, string fieldPropertyAliases, int pageSize, int pagingGroupSize) { Search1ViewModel model = new Search1ViewModel(); if (!string.IsNullOrEmpty(query)) { model.SearchTerm = query; model.DocTypeAliases = docTypeAliases; model.FieldPropertyAliases = fieldPropertyAliases; model.PageSize = pageSize; model.PagingGroupSize = pagingGroupSize; model.SearchGroups = GetSearchGroups(model); model.SearchResults = _searchHelper.GetSearchResults(model, Request.Form.AllKeys); } return(PartialView(PartialViewPath("_SearchForm"), model)); }