public BusinessService(ICategoryRelationshipRepository catRRep, IProductRatingRepository prodRRep, IReviewRepository reviewRep, IProductRepository prodRep, ICategoryRepository catRep, IUserProfileRepository userRep, IFilteringRepository filterRep, IFrontPageRepository frontRep) { _categoryRelationshipRepository = catRRep; _productRatingRepository = prodRRep; _reviewRepository = reviewRep; _productRepository = prodRep; _categoryRepository = catRep; _userProfileRepository = userRep; _filteringRepository = filterRep; _frontPageRepository = frontRep; }
public static T IncludeFilters <T>(this T repository, params IRepositoryFilter[] repositoryFilters) where T : IReadRepository { IFilteringRepository <IReadRepository> filteringRepository = repository as IFilteringRepository <IReadRepository>; if (filteringRepository == null) { throw new ArgumentException( $"Repository type {repository.GetType().FullName} does not implement IFilteringRepository<>"); } return((T)filteringRepository.IncludeFilters(repositoryFilters)); }
public static T ExcludeFilters <T>(this T repository, params Type[] repositoryFilterTypes) where T : IReadRepository { IFilteringRepository <IReadRepository> filteringRepository = repository as IFilteringRepository <IReadRepository>; if (filteringRepository == null) { throw new ArgumentException( $"Repository type {repository.GetType().FullName} does not implement IFilteringRepository<>"); } var filters = repository.DefaultFilters.Where(x => repositoryFilterTypes.Any(y => y.IsInstanceOfType(x))); return((T)filteringRepository.ExcludeFilter(filters.ToArray())); }
public FilteringDomainService(IFilteringRepository <TEntity, TFilterDefinition> repository) : base(repository) { this.Repository = repository; }