Пример #1
0
        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);
        }
Пример #2
0
 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);
 }
Пример #3
0
        /// <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);
        }
Пример #4
0
        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));
        }