public override IList <Resource> SearchResourcesByFilterObject(ResourceFilter resourceFilter, ApplicationUser user) { var predicate = PredicateBuilder.New <Resource>(true) .And(MatchResourceWithQuery(resourceFilter.Query)) .And(MatchResourceTagsWithTagsCollection(resourceFilter.Tags)) .And(MatchResourceWithAuthorName(resourceFilter.AuthorName)) .And(MatchResourceWithCreationDateRange(resourceFilter.CreationDateRange)) .And(MatchResourceWithApprovalDateRange(resourceFilter.ApprovalDateRange)) .And(NotInStatus(ResourceStatus.Removed)); return(_uow.ResourceRepository.FindByPredicate(predicate) .AsNoTracking() .OrderByDescending(KeyExtractors.GetValueOrDefault(resourceFilter.OrderBy, resource => resource.Priority)) .ToList()); }
public abstract IList <Resource> SearchResourcesByFilterObject(ResourceFilter resourceFilter, ApplicationUser user);