public PagingList <Resource> Search(ResourceSearchCriteria criteria, string includeProperties = null) { PagingList <Resource> results = base.GetWithCriteria(this.BuildQuery(criteria) , criteria , includeProperties ); return(results); }
public void UpdateCriteriaInvalidPageNumberTest() { // Arrange ResourceSearchCriteria target = new ResourceSearchCriteria(); // Act target.UpdateCriteria("Name", -1); // Assert Assert.IsNotNull(target); }
public void SearchTest_Exception() { // Arrange ResourceService target = new ResourceService(_exceptionRepository, _mockLogger, _mapper); ResourceSearchCriteria criteria = new ResourceSearchCriteria(); // Act PagingList <Resource> actual = target.Search(criteria); // Assert Assert.IsTrue(target.HasError); }
public PagingList <Resource> Search(ResourceSearchCriteria criteria, string includeProperties = null) { var entities = new Domain.MockData.Models.Resources().GetAll(); var toReturn = new PagingList <Resource>(); foreach (var entity in entities) { toReturn.Add(entity); } toReturn.TotalCount = entities.Count; return(toReturn); }
public void UpdateCriteriaDirectionTest() { // Arrange ResourceSearchCriteria target = new ResourceSearchCriteria(); target.SortDirection = SortDirection.Descending; // Act target.UpdateCriteria("Name", 1); // Assert Assert.IsNotNull(target); }
public ActionResult Search(ResourceSearchCriteria criteria) { switch (criteria.ResourceType) { case ResourceType.Video: return(Videos(criteria, new ResourcesPresentationModel())); case ResourceType.QnA: return(QnAs(criteria, new ResourcesPresentationModel())); default: return(Articles(criteria, new ResourcesPresentationModel())); } }
private Expression <Func <Resource, bool> > BuildQuery(ResourceSearchCriteria criteria) { Expression <Func <Resource, bool> > expression = (q => true); if (criteria.Id.HasValue) { expression = expression.And(q => q.Id == criteria.Id.Value); } if (!string.IsNullOrEmpty(criteria.NameStartsWith)) { expression = expression.And(q => q.Name.StartsWith(criteria.NameStartsWith)); } return(expression); }
public void SearchByNameTest() { // Arrange ResourcesController target = new ResourcesController(_service); Resource expected = _mockdata.Resource1(); ResourceSearchCriteria criteria = new ResourceSearchCriteria() { NameStartsWith = expected.Name }; // Act var actual = target.Search(criteria) as OkObjectResult; // Assert Assert.IsNotNull(actual); }
public IActionResult Search([FromQuery] ResourceSearchCriteria criteria) { if (criteria == null) { return(BadRequest()); } var response = new ResourceGetWithCriteriaResponse(); var results = _service.Search(criteria); if (results != null) { response.Results = results; response.TotalCount = results.TotalCount; } response.ErrorMessage = _service.ErrorMessage; return(Ok(response)); }
public static RouteValueDictionary GetRouteValues(this ResourceSearchCriteria criteria, int?page, IList <Category> categories) { var routeValues = criteria.SubcategoryId != null ? categories.GetSubcategory(criteria.SubcategoryId.Value).GetRouteValues(categories) : criteria.CategoryId != null ? categories.GetCategory(criteria.CategoryId.Value).GetRouteValues() : new RouteValueDictionary(); if (!string.IsNullOrEmpty(criteria.Keywords)) { routeValues.Add(ResourceSearchCriteriaKeys.Keywords, criteria.Keywords); } if (page != null && page.Value != 1) { routeValues.Add("Page", page.Value); } return(routeValues); }
public void SearchWithoutPagingOrSortingTest() { // Arrange ResourceRepository target = new ResourceRepository(_context); Resource expected = _mockdata.Resource1(); ResourceSearchCriteria criteria = new ResourceSearchCriteria() { SortFieldName = null, SortDirection = Domain.Client.Enumerations.SortDirection.Descending, PageSize = -1, PageNumber = 1, NameStartsWith = expected.Name }; // Act List <Resource> actual = target.Search(criteria); // Assert Assert.IsTrue(actual.Count >= 0); }
public void BuildQueryTest() { // Arrange ResourceRepository target = new ResourceRepository(_context); Type t = typeof(ResourceRepository); Resource expected = _mockdata.Resource1(); ResourceSearchCriteria criteria = new ResourceSearchCriteria() { Id = expected.Id, NameStartsWith = expected.Name }; MethodInfo methodInfo = t.GetMethod("BuildQuery", BindingFlags.NonPublic | BindingFlags.Instance); object[] parameters = { criteria }; // Act methodInfo.Invoke(target, parameters); //Assert }
private ResourceListModel <TResource> Search <TResource>(Guid userId, ResourceSearchCriteria criteria, ResourcesPresentationModel presentation, IList <Category> categories, Func <IList <Guid>, IList <TResource> > getResources, Func <Guid, IList <TResource> > getRecentlyViewedResources) where TResource : Resource { // Search. var execution = _executeResourceSearchCommand.Search(criteria, presentation.Pagination.ToRange()); return(new ResourceListModel <TResource> { Categories = categories, Presentation = presentation, Criteria = execution.Criteria, TotalResources = execution.Results.ResourceTypeHits.ToDictionary(h => h.Key, h => h.Value), Results = new ResourceListResultsModel <TResource> { ResourceIds = execution.Results.ResourceIds, Resources = getResources(execution.Results.ResourceIds).ToDictionary(r => r.Id, r => r), }, RecentItems = getRecentlyViewedResources(userId).Cast <Resource>().ToList(), }); }
public PagingList <Domain.Client.Dtos.Resource> Search(ResourceSearchCriteria criteria, string includeProperties = null) { PagingList <Domain.Client.Dtos.Resource> toReturn = null; try { PagingList <Domain.Models.Resource> ormEntities = _repository.Search(criteria, includeProperties); toReturn = new PagingList <Domain.Client.Dtos.Resource>(); toReturn.TotalCount = ormEntities.TotalCount; foreach (var ormEntity in ormEntities) { toReturn.Add(_mapper.Map <Domain.Models.Resource, Domain.Client.Dtos.Resource>(ormEntity)); } } catch (Exception ex) { _logger.LogError(ex.ToString()); this.ErrorMessage = ex.ToString(); } return(toReturn); }
public void SearchTest() { // Arrange ResourceService target = new ResourceService(_repository, _mockLogger, _mapper); Resource expected = _mockdata.Resource1(); ResourceSearchCriteria criteria = new ResourceSearchCriteria() { SortFieldName = "Name", SortDirection = Domain.Client.Enumerations.SortDirection.Descending, PageSize = 10, PageNumber = 1, NameStartsWith = expected.Name }; // Act List <Resource> actual = target.Search(criteria); // Assert Assert.IsFalse(target.HasError); Assert.IsTrue(actual.Count >= 0); }
/// <summary> /// Execute a search on the Lucene resource index /// </summary> /// <param name="criteria">The criteria the search results need to meet</param> /// <param name="range">The number of results to return. Null means include all resources</param> /// <returns>A list of resourceItemIds meeting the criteria</returns> ResourceSearchExecution IExecuteResourceSearchCommand.Search(ResourceSearchCriteria criteria, Range range) { ResourceSearchResults results; var service = _serviceManager.Create(); try { results = service.Search(criteria.GetSearchQuery(range), true); } catch (Exception) { _serviceManager.Abort(service); throw; } _serviceManager.Close(service); return(new ResourceSearchExecution { Criteria = criteria, Results = results, }); }
private ResourceListModel <TResource> PartialResources <TResource>(ResourceSearchCriteria criteria, ResourcesPresentationModel presentation, Func <IList <Guid>, IList <TResource> > getResources, Func <Guid, IList <TResource> > getRecentlyViewedResources) where TResource : Resource { // Save the current search. criteria.ResourceType = GetResourceType <TResource>(); criteria.SortCriteria = new ResourceSearchSortCriteria { SortOrder = ResourceSortOrder.CreatedTime, ReverseSortOrder = false }; presentation = PreparePresentationModel(presentation); MemberContext.CurrentResourcesSearch = new ResourcesSearchNavigation(criteria, presentation); // Search. var user = CurrentUser; var categories = _resourcesQuery.GetCategories(); var model = Search(user.Id, criteria, presentation, categories, getResources, getRecentlyViewedResources); // Set the data for all resources in the model. return(GetPartialResourceListModel(user, model)); }
public PagingList <Resource> Search(ResourceSearchCriteria criteria, string includeProperties = null) { throw new NotImplementedException(); }
public static ReadOnlyUrl GenerateUrl(this ResourceSearchCriteria criteria, int?page, IList <Category> categories) { return(criteria.CategoryId == null && criteria.SubcategoryId == null ? GetRoute(criteria.ResourceType).GenerateUrl(criteria.GetRouteValues(page, categories)) : GetCategoryRoute(criteria.ResourceType).GenerateUrl(criteria.GetRouteValues(page, categories))); }
public ActionResult CategoryVideos(ResourceSearchCriteria criteria, ResourcesPresentationModel presentation) { return(Videos(criteria, presentation)); }
IResourceHighlighter IResourceHighlighterFactory.Create(ResourceHighlighterKind kind, ResourceSearchCriteria criteria, HighlighterConfiguration configuration) { if (kind == ResourceHighlighterKind.Null || criteria == null) { return(new NullResourceHighlighter()); } var searchQuery = criteria.GetSearchQuery(null); var contentQuery = new QueryBuilder(_defaultQueryAnalyzer).GetContentQuery(searchQuery); return(new ResourceHighlighter(contentQuery, _defaultContentAnalyzer, configuration)); }
public PagingList <Resource> Search(ResourceSearchCriteria criteria, string includeProperties = null) { this.ErrorMessage = "error"; return(null); }
public ActionResult PartialVideos(ResourceSearchCriteria criteria, ResourcesPresentationModel presentation) { return(PartialView("PartialVideos", PartialResources(criteria, presentation, i => _resourcesQuery.GetVideos(i), u => _resourcesQuery.GetRecentlyViewedVideos(u, RecentItemsCount)))); }
public ResourcesSearchNavigation(ResourceSearchCriteria criteria, PresentationModel presentation) : base(presentation) { _criteria = criteria.Clone(); }
public ActionResult QnAs(ResourceSearchCriteria criteria, ResourcesPresentationModel presentation) { return(View("QnAs", Resources(criteria, presentation, i => _resourcesQuery.GetQnAs(i), u => _resourcesQuery.GetRecentlyViewedQnAs(u, RecentItemsCount)))); }
public PagingList <Resource> Search(ResourceSearchCriteria criteria, string includeProperties = null) { return(new PagingList <Resource>() { }); }