public async Task <IActionResult> OnGetAsync(int?pageIndex = null, int?offset = null) { if (!ModelState.IsValid || SearchKeyword.IsNullOrEmpty()) { return(Page()); } _paginationParameters = new PaginationParametersBase { PageSize = 20, PageIndex = pageIndex ?? 1, Offset = offset ?? 0 }; var searchKeywords = SearchStringHelper.GetSearchKeywords(SearchKeyword); var usersToDisplay = await _userSearchService.OrderQueryableAsync(searchKeywords); var regionsToDisplay = await _referenceDataRepository.GetPhecsBySearchKeywords(searchKeywords); var tbServicesToDisplay = await _referenceDataRepository.GetActiveTBServicesBySearchKeywords(searchKeywords); var hospitalsToDisplay = await _referenceDataRepository.GetActiveHospitalsBySearchKeywords(searchKeywords); var(paginatedResults, count) = _serviceDirectoryService.GetPaginatedItems( regionsToDisplay, usersToDisplay, tbServicesToDisplay, hospitalsToDisplay, _paginationParameters); DirectorySearchResults = new PaginatedList <ServiceDirectoryItemWrapper>(paginatedResults, count, _paginationParameters); AllPhecs = await _referenceDataRepository.GetAllPhecs(); if (DirectorySearchResults.HasNextPage) { NextPageUrl = QueryHelpers.AddQueryString("/ServiceDirectory/SearchResults", new Dictionary <string, string> { { "SearchKeyword", SearchKeyword }, { "pageIndex", (_paginationParameters.PageIndex + 1).ToString() }, { "offset", (_paginationParameters.Offset + paginatedResults.Count).ToString() } }); } if (DirectorySearchResults.HasPreviousPage) { PreviousPageUrl = QueryHelpers.AddQueryString("/ServiceDirectory/SearchResults", new Dictionary <string, string> { { "SearchKeyword", SearchKeyword }, { "pageIndex", (_paginationParameters.PageIndex - 1).ToString() }, { "offset", (_paginationParameters.Offset - _paginationParameters.PageSize).ToString() } }); } PrepareBreadcrumbs(); return(Page()); }
public async Task OrderQueryableAsync_ReturnsEmptyList() { // Arrange var searchStrings = SearchStringHelper.GetSearchKeywords(""); _mockReferenceDataRepository.Setup(r => r.GetAllPhecs()).ReturnsAsync(new List <PHEC>()); _mockUserRepository.Setup(u => u.GetOrderedUsers()).ReturnsAsync(new List <User>()); // Act var results = await _service.OrderQueryableAsync(searchStrings); // Assert Assert.Empty(results); }