Exemplo n.º 1
0
        public TQueryBuilder CreateProxyInterceptor <TModel, TQueryBuilder>(
            RepositoryConfiguration config,
            MongoCollection collection)
            where TQueryBuilder : class, IQueryBuilder <TModel>
            where TModel : class
        {
            var customMethods = this.GetOrAddMethods <TQueryBuilder>();

            var sharedIntermediateQueryData = new IntermediateQueryDataContainer();
            var queryBuilder = new StandardQueryExecutor <TModel>(config, collection, sharedIntermediateQueryData);
            var interceptor  = new QueryInterceptor <TModel>(queryBuilder, this.Parser, sharedIntermediateQueryData);
            var proxy        = _generator.CreateInterfaceProxyWithoutTarget <TQueryBuilder>(interceptor);

            return(proxy);
        }
Exemplo n.º 2
0
 public QueryInterceptor(StandardQueryExecutor <TModel> queryBuilder, MethodConventionParser parser, IntermediateQueryDataContainer queryData)
 {
     this.QueryBuilder = queryBuilder;
     this.QueryData    = queryData;
     this.Parser       = parser;
 }
 public StandardQueryExecutor(RepositoryConfiguration config, MongoCollection collection, IntermediateQueryDataContainer queryData)
 {
     this.Config     = config;
     this.Collection = collection;
     this.QueryData  = queryData;
 }