public int GetSearchTotal(SupportTeamSearchRequest searchRequest) { var criteria = CreateSearchCriteria(searchRequest); criteria.SetProjection(Projections.RowCount()); return((int)criteria.UniqueResult()); }
private SearchResultFormViewModel <SupportTeamDto, SupportTeamSearchRequest> LoadSearchResults( SupportTeamSearchRequest searchRequest) { const int entriesPerPage = 20; int offset = entriesPerPage * (searchRequest.CurrentPageNumber - 1); IList <SupportTeamDto> searchResultItems = _supportTeamRepository.Search(searchRequest, offset, entriesPerPage); var searchResultFormViewModel = CreateFormViewModel(searchRequest); searchResultFormViewModel.PageResultItems = searchResultItems; int resultCount = _supportTeamRepository.GetSearchTotal(searchRequest); searchResultFormViewModel.TotalResultCount = resultCount; searchResultFormViewModel.CurrentPageNumber = searchRequest.CurrentPageNumber; searchResultFormViewModel.TotalPageCount = resultCount / entriesPerPage; if (resultCount % entriesPerPage > 0) { searchResultFormViewModel.TotalPageCount++; } return(searchResultFormViewModel); }
public IList <SupportTeamDto> Search(SupportTeamSearchRequest searchRequest, int offset, int maxEntries) { ICriteria criteria = CreateSearchCriteria(searchRequest); criteria .CreateAlias("Supervisor", "Supervisor", JoinType.LeftOuterJoin) .SetProjection(Projections.ProjectionList() .Add(Projections.Property("Id"), "Id") .Add(Projections.Property("TeamName"), "TeamName") .Add(Projections.Property("PhoneNumber"), "PhoneNumber") .Add(Projections.Property("Supervisor.FirstName"), "SupervisorFirstName") .Add(Projections.Property("Supervisor.LastName"), "SupervisorLastName") //.Add(Projections.Property("SupervisorId"), "SupervisorId"); ); criteria.SetResultTransformer(Transformers.AliasToBean(typeof(SupportTeamDto))); criteria.SetMaxResults(maxEntries).SetFirstResult(offset); if (!string.IsNullOrEmpty(searchRequest.SortColumn)) { criteria.AddOrder(searchRequest.SortOrder.StartsWith("A") ? Order.Asc(searchRequest.SortColumn) : Order.Desc(searchRequest.SortColumn)); } return(criteria.List <SupportTeamDto>()); }
public SearchResultFormViewModel <SupportTeamDto, SupportTeamSearchRequest> CreateFormViewModel( SupportTeamSearchRequest searchRequest) { var viewModel = new SearchResultFormViewModel <SupportTeamDto, SupportTeamSearchRequest> { SearchRequest = searchRequest }; return(viewModel); }
public SearchResultFormViewModel <SupportTeamDto, SupportTeamSearchRequest> CreateFormViewModel() { var searchRequest = new SupportTeamSearchRequest(); SearchResultFormViewModel <SupportTeamDto, SupportTeamSearchRequest> viewModel = Search(searchRequest); viewModel.SearchRequest = searchRequest; return(viewModel); }
public virtual void CanSearch() { var searchRequest = new SupportTeamSearchRequest(); searchRequest.TeamQuery = "team"; IList <SupportTeamDto> results = _SupportTeamRepository.Search(searchRequest, 0, 20); Assert.That(results.Count >= 1 && results.Count <= 20); }
public virtual void CanGetSearchTotal() { var searchRequest = new SupportTeamSearchRequest(); searchRequest.TeamQuery = "team"; int results = _SupportTeamRepository.GetSearchTotal(searchRequest); Assert.That(results >= 1); }
public ActionResult Search(SupportTeamSearchRequest searchRequest) { SearchResultFormViewModel <SupportTeamDto, SupportTeamSearchRequest> formViewModel = null; try { formViewModel = _supportTeamSearchManagementService.Search(searchRequest); Session.Add(SEARCH_PARAMETERS, searchRequest); } catch (PreconditionException pde) { TempData[ControllerEnums.GlobalViewDataProperty.PageMessage.ToString()] = pde.Message; formViewModel = _supportTeamSearchManagementService.CreateFormViewModel(searchRequest); } return(View("Index", formViewModel)); }
public SearchResultFormViewModel <SupportTeamDto, SupportTeamSearchRequest> Search( SupportTeamSearchRequest searchRequest) { //make sure at least one field set //Check.Require(searchRequest != null, "At least one field is required"); //if (String.IsNullOrEmpty(searchRequest.SupportTeamQuery)) //{ // 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 <SupportTeamDto> searchResultItems = _supportTeamRepository.Search(searchRequest, offset, entriesPerPage); var searchResultFormViewModel = CreateFormViewModel(searchRequest); searchResultFormViewModel.PageResultItems = searchResultItems; int resultCount = _supportTeamRepository.GetSearchTotal(searchRequest); searchResultFormViewModel.TotalResultCount = resultCount; searchResultFormViewModel.CurrentPageNumber = searchRequest.CurrentPageNumber; searchResultFormViewModel.TotalPageCount = resultCount / entriesPerPage; if (resultCount % entriesPerPage > 0) { searchResultFormViewModel.TotalPageCount++; } return(searchResultFormViewModel); }
private ICriteria CreateSearchCriteria(SupportTeamSearchRequest searchRequest) { var criteria = Session.CreateCriteria(typeof(SupportTeam)); var query = searchRequest.TeamQuery; query += ""; string[] split = query.Split(new[] { ' ', ',', '.', ':' }); foreach (var s in split) { if (s.Trim() != "") { SimpleExpression teamNameExp = Restrictions.Like("TeamName", query, MatchMode.Anywhere); criteria.Add(teamNameExp); } } return(criteria); }