/// <summary> /// Create a new instance of the <see cref="T:FluentDapper.Data.SelectQueryBuilder`2" /> class. /// </summary> /// <param name="classMapperFactory"></param> /// <param name="predicateFactory"></param> /// <param name="predicateQueryBuilderFactory"></param> /// <param name="propertyExpressions">The field set to return; or all propertyExpressions if <c>null</c> is provided.</param> /// <inheritdoc /> public SelectQueryBuilder( IClassMapperFactory classMapperFactory, IPredicateFactory predicateFactory, IPredicateQueryBuilderFactory predicateQueryBuilderFactory, params Expression <Func <TData, object> >[] propertyExpressions) : this(classMapperFactory, predicateFactory, predicateQueryBuilderFactory, new SqlServerDialect(), propertyExpressions) { }
public void TestInitialize() { _classMapperFactory = new ClassMapperFactory(typeof(AutoClassMapper <>), new List <Assembly>());//, new SqlServerDialect()); _metadataProviders = new IFilterMetadataProvider[] { new ArticleFilterMetadataProvider() }; _predicateFactory = new PredicateFactory(_metadataProviders); _predicateQueryBuilderFactory = new PredicateQueryBuilderFactory(); _queryBuilder = new QueryBuilder(_classMapperFactory, _predicateFactory, _predicateQueryBuilderFactory); }
public async Task <Expression <Func <ResourceStore, bool> > > CompositeIndex(IPredicateFactory IPredicateFactory, ISearchQueryBase SearchQueryBase) { if (SearchQueryBase is SearchQueryComposite SearchQueryComposite) { return(await IIndexCompositePredicateFactory.CompositeIndex(IPredicateFactory, SearchQueryComposite)); } else { throw new InvalidCastException($"Unable to cast a {nameof(ISearchQueryBase)} of type {SearchQueryBase.GetType().Name} to a {typeof(SearchQueryComposite).Name}"); } }
/// <summary> /// Create a new instance of the <see cref="SelectQueryBuilder{TData,TViewData}"/> class. /// </summary> /// <param name="classMapperFactory"></param> /// <param name="predicateFactory"></param> /// <param name="predicateQueryBuilderFactory"></param> /// <param name="sqlDialect">The SQL dialect to use.</param> /// <param name="propertyExpressions">The field set to return; or all propertyExpressions if <c>null</c> is provided.</param> /// <inheritdoc /> public SelectQueryBuilder( IClassMapperFactory classMapperFactory, IPredicateFactory predicateFactory, IPredicateQueryBuilderFactory predicateQueryBuilderFactory, ISqlDialect sqlDialect, params Expression <Func <TData, object> >[] propertyExpressions) { _classMapperFactory = classMapperFactory; _predicateFactory = predicateFactory; _predicateQueryBuilderFactory = predicateQueryBuilderFactory; Dialect = sqlDialect; //_propertyExpressions = propertyExpressions; _properties[typeof(TData)] = GetProperties(propertyExpressions); }
public async Task <Expression <Func <ResourceStore, bool> > > CompositeIndex(IPredicateFactory IPredicateFactory, SearchQueryComposite SearchQueryComposite) { var ResourceStorePredicate = LinqKit.PredicateBuilder.New <ResourceStore>(true); foreach (SearchQueryCompositeValue CompositeValue in SearchQueryComposite.ValueList) { if (!SearchQueryComposite.Modifier.HasValue) { if (CompositeValue.SearchQueryBaseList is null) { throw new ArgumentNullException(nameof(CompositeValue.SearchQueryBaseList)); } ResourceStorePredicate = ResourceStorePredicate.Or(await IPredicateFactory.GetResourceStoreIndexPredicate(SearchQueryComposite.FhirVersionId, SearchQueryComposite.ResourceContext, CompositeValue.SearchQueryBaseList)); } else { throw new ApplicationException($"Internal Server Error: The search query modifier: {SearchQueryComposite.Modifier.Value.GetCode()} is not supported for search parameter types of {SearchQueryComposite.SearchParamTypeId.GetCode()}."); } } return(ResourceStorePredicate); }
public ResourceStoreRepository(AppDbContext context, IPredicateFactory IPredicateFactory) : base(context) { this.IPredicateFactory = IPredicateFactory; }
/// <summary> /// Creates a new <see cref="Gateway{TData, TDataFilter}"/> instance. /// </summary> /// <param name="connectionFactory">The <see cref="IDbConnectionFactory">connection factory</see> to use.</param> /// <param name="predicateFactory">The <see cref="IPredicateFactory">predicate factory</see> to use.</param> public Gateway(IDbConnectionFactory connectionFactory, IPredicateFactory predicateFactory) { _connectionFactory = connectionFactory; _predicateFactory = predicateFactory; }
public QueryBuilder(IClassMapperFactory classMapperFactory, IPredicateFactory predicateFactory, IPredicateQueryBuilderFactory predicateQueryBuilderFactory) { _classMapperFactory = classMapperFactory; _predicateFactory = predicateFactory; _predicateQueryBuilderFactory = predicateQueryBuilderFactory; }