/// <summary> /// Get all elements in repository at least you pass a 'predicate' in order to filter results /// </summary> /// <param name="inventAppPredicate">Predicate with filter specifications</param> public async Task <IEnumerable <TAggregateRoot> > GetAsync(IInventAppPredicate <TAggregateRoot> inventAppPredicate = null) { IPredicate dapperPredicate = null; if (inventAppPredicate != null) { dapperPredicate = inventAppPredicate is InventAppPredicateGroup <TAggregateRoot> ?CreateDapperPredicateGroup((InventAppPredicateGroup <TAggregateRoot>) inventAppPredicate) : CreateDapperPredicateIndividual((InventAppPredicateIndividual <TAggregateRoot>)inventAppPredicate); } var aggregates = (await _dbConnection.GetListAsync <TAggregateRoot>(dapperPredicate, null, _dbTransaction)).ToList(); if (_appSettingsService.Environment.IsDev()) { LogLastQuery(); } return(aggregates); }
public void Add(IInventAppPredicate <TAggregateRoot> inventAppPredicate) { throw new NotSupportedException(GetType().Name + " can not 'Add' child elements"); }
public async Task <bool> AnyAsync(IInventAppPredicate <TAggregateRoot> inventAppPredicate = null) { var thereIsAny = (await GetAsync(inventAppPredicate)).Any(); return(thereIsAny); }
public async Task <TAggregateRoot> GetFirstAsync(IInventAppPredicate <TAggregateRoot> inventAppPredicate) { var aggregate = (await GetAsync(inventAppPredicate)).FirstOrDefault(); return(aggregate); }
public void Add(IInventAppPredicate <TAggregateRoot> inventAppPredicate) { Predicates.Add(inventAppPredicate); }