Пример #1
0
        private List <SearchGroup> GetSearch2Groups(Search2ViewModel 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
        /// <summary>
        /// Modified to accept additional criteria
        /// </summary>
        /// <param name="searchModel"></param>
        /// <param name="allKeys"></param>
        /// <returns></returns>
        public SearchResultsModel GetSearch2Results(Search2ViewModel searchModel, string[] allKeys)
        {
            SearchResultsModel resultsModel = new SearchResultsModel();

            resultsModel.SearchTerm = searchModel.SearchTerm;
            resultsModel.PageNumber = GetPageNumber(allKeys);

            ISearchResults allResults = Search2UsingExamine(searchModel.DocTypeAliases.Split(','), searchModel.SearchGroups, searchModel.Category);

            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);
        }
Пример #3
0
        public ActionResult SubmitSearch2Form(Search2ViewModel model)
        {
            IEnumerable <SelectListItem> categories = _dataTypeValueService.GetItemsFromValueListDataType("CheckboxList Category", null);

            model.Categories = categories;

            if (ModelState.IsValid)
            {
                if (!string.IsNullOrEmpty(model.SearchTerm))
                {
                    model.SearchTerm    = model.SearchTerm;
                    model.SearchGroups  = GetSearch2Groups(model);
                    model.SearchResults = _searchHelper.GetSearch2Results(model, Request.Form.AllKeys);
                }
                return(RenderSearch2Results(model.SearchResults));
            }
            return(null);
        }
Пример #4
0
        public ActionResult RenderSearch2Form(string query, string docTypeAliases, string fieldPropertyAliases, int pageSize, int pagingGroupSize)
        {
            IEnumerable <SelectListItem> categories = _dataTypeValueService.GetItemsFromValueListDataType("CheckboxList Category", null);

            Search2ViewModel model = new Search2ViewModel();

            model.Categories = categories;

            if (!string.IsNullOrEmpty(query))
            {
                model.SearchTerm           = query;
                model.Category             = "";
                model.DocTypeAliases       = docTypeAliases;
                model.FieldPropertyAliases = fieldPropertyAliases;
                model.PageSize             = pageSize;
                model.PagingGroupSize      = pagingGroupSize;
                model.SearchGroups         = GetSearch2Groups(model);
                model.SearchResults        = _searchHelper.GetSearch2Results(model, Request.Form.AllKeys);
            }
            return(PartialView(PartialViewPath("_Search2Form"), model));
        }