Exemplo n.º 1
0
        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);