コード例 #1
0
ファイル: SearchController.cs プロジェクト: gekhome/AppinterN
        public ActionResult RenderSearch3Form(string query, string docTypeAliases, string fieldPropertyAliases, int pageSize, int pagingGroupSize)
        {
            IEnumerable <SelectListItem> jobSectors    = _dataTypeValueService.GetItemsFromValueListDataType("Dropdown Job Sectors", null);
            IEnumerable <SelectListItem> durations     = _dataTypeValueService.GetItemsFromValueListDataType("Dropdown Duration", null);
            IEnumerable <SelectListItem> commitments   = _dataTypeValueService.GetItemsFromValueListDataType("Dropdown Commitment", null);
            IEnumerable <SelectListItem> compensations = _dataTypeValueService.GetItemsFromValueListDataType("Dropdown Compensation", null);
            IEnumerable <SelectListItem> statuses      = _dataTypeValueService.GetItemsFromValueListDataType("Dropdown Status", null);

            Search3ViewModel model = new Search3ViewModel();

            model.JobSectors    = jobSectors;
            model.Durations     = durations;
            model.Commitments   = commitments;
            model.Compensations = compensations;
            model.Statuses      = statuses;

            if (!string.IsNullOrEmpty(query))
            {
                model.SearchTerm           = query;
                model.JobSector            = "";
                model.Duration             = "";
                model.Commitment           = "";
                model.Compensation         = "";
                model.Status               = "";
                model.DocTypeAliases       = docTypeAliases;
                model.FieldPropertyAliases = fieldPropertyAliases;
                model.PageSize             = pageSize;
                model.PagingGroupSize      = pagingGroupSize;
                model.SearchGroups         = GetSearch3Groups(model);
                model.SearchResults        = _searchHelper.GetSearch3Results(model, Request.Form.AllKeys);
            }
            return(PartialView(PartialViewPath("_Search3Form"), model));
        }
コード例 #2
0
ファイル: SearchController.cs プロジェクト: gekhome/AppinterN
        public ActionResult SubmitSearch3Form(Search3ViewModel model)
        {
            IEnumerable <SelectListItem> jobSectors    = _dataTypeValueService.GetItemsFromValueListDataType("Dropdown Job Sectors", null);
            IEnumerable <SelectListItem> durations     = _dataTypeValueService.GetItemsFromValueListDataType("Dropdown Duration", null);
            IEnumerable <SelectListItem> commitments   = _dataTypeValueService.GetItemsFromValueListDataType("Dropdown Commitment", null);
            IEnumerable <SelectListItem> compensations = _dataTypeValueService.GetItemsFromValueListDataType("Dropdown Compensation", null);
            IEnumerable <SelectListItem> statuses      = _dataTypeValueService.GetItemsFromValueListDataType("Dropdown Status", null);

            model.JobSectors    = jobSectors;
            model.Durations     = durations;
            model.Commitments   = commitments;
            model.Compensations = compensations;
            model.Statuses      = statuses;

            if (ModelState.IsValid)
            {
                if (!string.IsNullOrEmpty(model.SearchTerm))
                {
                    model.SearchTerm    = model.SearchTerm;
                    model.SearchGroups  = GetSearch3Groups(model);
                    model.SearchResults = _searchHelper.GetSearch3Results(model, Request.Form.AllKeys);
                }
                return(RenderSearch3Results(model.SearchResults));
            }
            return(null);
        }
コード例 #3
0
ファイル: SearchController.cs プロジェクト: gekhome/AppinterN
        private List <SearchGroup> GetSearch3Groups(Search3ViewModel 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);
        }
コード例 #4
0
ファイル: SearchHelper.cs プロジェクト: gekhome/AppinterN
        public SearchResultsModel GetSearch3Results(Search3ViewModel searchModel, string[] allKeys)
        {
            SearchResultsModel resultsModel = new SearchResultsModel();

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

            ISearchResults allResults = Search3UsingExamine(searchModel.DocTypeAliases.Split(','),
                                                            searchModel.SearchGroups, searchModel.JobSector, searchModel.Duration, searchModel.Commitment, searchModel.Compensation, searchModel.Status);

            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);
        }