public int GetSearchTotal(OrgSearchRequest searchRequest) { var criteria = CreateSearchCriteria(searchRequest); criteria.SetProjection(Projections.RowCount()); return((int)criteria.UniqueResult()); }
public IList <Org> SearchWithoutSummaries(OrgSearchRequest searchRequest, int offset, int maxEntries) { ICriteria criteria = CreateSearchCriteria(searchRequest); criteria.SetMaxResults(maxEntries).SetFirstResult(offset); return(criteria.List <Org>()); }
public void CanListOrgs() { // Establish Context var viewModel = new SearchResultFormViewModel <OrgDto, OrgSearchRequest>(); IList <OrgDto> orgSummariesToExpect = new List <OrgDto>(); viewModel.SearchRequest = new OrgSearchRequest(); viewModel.PageResultItems = orgSummariesToExpect; var agencyDto = new OrgDto(); orgSummariesToExpect.Add(agencyDto); var searchRequest = new OrgSearchRequest(); _orgSearchManagementService.Expect(r => r.CreateFormViewModel()) .Return(viewModel); // Act ViewResult result = _orgsController.Index().AssertViewRendered(); // Assert result.ViewData.Model.ShouldNotBeNull(); (result.ViewData.Model as SearchResultFormViewModel <OrgDto, OrgSearchRequest>).ShouldNotBeNull(); (result.ViewData.Model as SearchResultFormViewModel <OrgDto, OrgSearchRequest>).PageResultItems.Count. ShouldEqual(1); }
public IList <OrgDto> Search(OrgSearchRequest searchRequest, int offset, int maxEntries) { ICriteria criteria = CreateSearchCriteria(searchRequest); criteria.CreateAlias("Agency", "Agency") .SetProjection(Projections.ProjectionList() .Add(Projections.Property("LongDesc"), "LongDesc") .Add(Projections.Property("Code"), "Code") .Add(Projections.Property("Id"), "Id") .Add(Projections.Property("Agency.Id"), "AgencyId") .Add(Projections.Property("Agency.Code"), "AgencyCode") .Add(Projections.Property("Agency.LongDesc"), "AgencyLongDesc") .Add(Projections.Property("Agency.ShortDesc"), "AgencyShortDesc")); criteria.SetResultTransformer(Transformers.AliasToBean(typeof(OrgDto))); criteria.SetMaxResults(maxEntries).SetFirstResult(offset); if (!String.IsNullOrEmpty(searchRequest.SortColumn)) { if (searchRequest.SortOrder.StartsWith("A")) { criteria.AddOrder(Order.Asc(searchRequest.SortColumn)); } else { criteria.AddOrder(Order.Desc(searchRequest.SortColumn)); } } return(criteria.List <OrgDto>()); }
public virtual void CanSearch() { var searchRequest = new OrgSearchRequest(); searchRequest.OrgQuery = "e"; IList <OrgDto> results = _orgRepository.Search(searchRequest, 0, 20); Assert.That(results.Count > 1 && results.Count <= 20); }
public virtual void CanGetSearchTotal() { var searchRequest = new OrgSearchRequest(); searchRequest.OrgQuery = "IT "; int results = _orgRepository.GetSearchTotal(searchRequest); Assert.That(results == 1); }
public SearchResultFormViewModel <OrgDto, OrgSearchRequest> CreateFormViewModel() { var searchRequest = new OrgSearchRequest { Agencies = _agencyManagementService.GetAll() }; SearchResultFormViewModel <OrgDto, OrgSearchRequest> viewModel = Search(searchRequest); viewModel.SearchRequest = searchRequest; return(viewModel); }
public ActionResult Search(OrgSearchRequest searchRequest) { SearchResultFormViewModel <OrgDto, OrgSearchRequest> formViewModel = null; try { formViewModel = _orgSearchManagementService.Search(searchRequest); Session.Add(SEARCH_PARAMETERS, searchRequest); } catch (PreconditionException pde) { TempData[ControllerEnums.GlobalViewDataProperty.PageMessage.ToString()] = pde.Message; formViewModel = _orgSearchManagementService.CreateFormViewModel(searchRequest); } return(View("Index", formViewModel)); }
//private SearchResultFormViewModel<OrgDto, OrgSearchRequest> LoadSearchResults(OrgSearchRequest searchRequest) //{ // const int entriesPerPage = 20; // int offset = entriesPerPage * (searchRequest.CurrentPageNumber - 1); // IList<OrgDto> searchResultItems = _orgRepository.Search(searchRequest, offset, entriesPerPage); // var searchResultFormViewModel = CreateFormViewModel(searchRequest); // searchResultFormViewModel.PageResultItems = searchResultItems; // int resultCount = _orgRepository.GetSearchTotal(searchRequest); // searchResultFormViewModel.TotalResultCount = resultCount; // searchResultFormViewModel.CurrentPageNumber = searchRequest.CurrentPageNumber; // searchResultFormViewModel.TotalPageCount = resultCount / entriesPerPage; // if (resultCount % entriesPerPage > 0) // { // searchResultFormViewModel.TotalPageCount++; // } // return searchResultFormViewModel; //} public SearchResultFormViewModel <OrgDto, OrgSearchRequest> Search(OrgSearchRequest searchRequest) { //make sure at least one field set //Check.Require(searchRequest != null, "At least one field is required"); //if (searchRequest.AgencyId == null && String.IsNullOrEmpty(searchRequest.OrgQuery)) //{ // Check.Require(1 == 0, "At least one field is required"); //} if (searchRequest.CurrentPageNumber == 0) { searchRequest.CurrentPageNumber = 1; } if (string.IsNullOrEmpty(searchRequest.SortColumn)) { searchRequest.SortColumn = DEFAULT_SORT_COLUMN; searchRequest.SortOrder = DEFAULT_SORT_ORDER; } const int entriesPerPage = 20; int offset = entriesPerPage * (searchRequest.CurrentPageNumber - 1); IList <OrgDto> searchResultItems = _orgRepository.Search(searchRequest, offset, entriesPerPage); var searchResultFormViewModel = CreateFormViewModel(searchRequest); searchResultFormViewModel.PageResultItems = searchResultItems; int resultCount = _orgRepository.GetSearchTotal(searchRequest); searchResultFormViewModel.TotalResultCount = resultCount; searchResultFormViewModel.CurrentPageNumber = searchRequest.CurrentPageNumber; searchResultFormViewModel.TotalPageCount = resultCount / entriesPerPage; if (resultCount % entriesPerPage > 0) { searchResultFormViewModel.TotalPageCount++; } return(searchResultFormViewModel); }
private ICriteria CreateSearchCriteria(OrgSearchRequest searchRequest) { var criteria = Session.CreateCriteria(typeof(Org)); var query = searchRequest.OrgQuery; query += ""; string[] split = query.Split(new[] { ' ', ',', '.', ':' }); foreach (var s in split) { if (s.Trim() != "") { SimpleExpression orgCd = Restrictions.Like("Code", query, MatchMode.Anywhere); SimpleExpression orgLongDesc = Restrictions.Like("LongDesc", query, MatchMode.Anywhere); criteria.Add(Restrictions.Or(orgCd, orgLongDesc)); } } if (searchRequest.AgencyId > 0) { criteria.Add(Restrictions.Eq("Agency.Id", searchRequest.AgencyId)); } return(criteria); }
public SearchResultFormViewModel <OrgDto, OrgSearchRequest> CreateFormViewModel(OrgSearchRequest searchRequest) { var viewModel = new SearchResultFormViewModel <OrgDto, OrgSearchRequest> { SearchRequest = searchRequest }; searchRequest.Agencies = _agencyManagementService.GetAll(); return(viewModel); }