Exemplo n.º 1
0
        public AggregateQueryStrategy(params Expression <Func <T, bool> >[] predicates)
        {
            Check.NotNull(predicates, "predicates");

            var queryStrategies = predicates.Select(predicate => new ExpressionSpecificationQueryStrategy <T>(predicate));

            _InternalAggregateStrategy = new AggregateQueryStrategy(queryStrategies);
        }
        public IQueryable <T> GetEntities <T>(Expression <Func <T, bool> > predicate, params IQueryStrategy[] queryStrategies) where T : class
        {
            Check.NotNull(predicate, "predicate");
            Check.NotNull(queryStrategies, "queryStrategies");

            var aggregateQueryStrategy = new AggregateQueryStrategy(new ExpressionSpecificationQueryStrategy <T>(predicate));

            aggregateQueryStrategy.AddRange(queryStrategies);

            return(GetEntities <T>(aggregateQueryStrategy));
        }
        public static IQueryable <T> AddQueryStrategy <T>(this IQueryable <T> query, params IQueryStrategy[] strategies) where T : class
        {
            Check.NotNull(query, "query");
            Check.NotNull(strategies, "strategies");

            var singleRepository = new SingleQueryRepository <T>(query);

            var aggregateStrategy = new AggregateQueryStrategy(strategies);

            aggregateStrategy.QueryableRepository = singleRepository;

            return((IQueryable <T>)aggregateStrategy.GetQueryableEntities <T>(null));
        }
Exemplo n.º 4
0
        public static IEnumerable <T> AddQueryStrategy <T>(this IEnumerable <T> enumerable, params IQueryStrategy[] strategies) where T : class
        {
            Check.NotNull(enumerable, "enumerable");
            Check.NotNull(strategies, "strategies");

            var singleRepository = new SingleQueryRepository <T>(enumerable.AsQueryable());

            var aggregateStrategy = new AggregateQueryStrategy(strategies);

            aggregateStrategy.QueryableRepository = singleRepository;

            return(aggregateStrategy.GetQueryableEntities <T>(null).AsEnumerable());
        }
Exemplo n.º 5
0
        public AggregateQueryStrategy(params IQueryStrategy[] strategies)
        {
            Check.NotNull(strategies, "strategies");

            _InternalAggregateStrategy = new AggregateQueryStrategy(strategies);
        }
Exemplo n.º 6
0
 protected AggregateQueryStrategy()
 {
     _InternalAggregateStrategy = new AggregateQueryStrategy();
 }