Exemplo n.º 1
0
        /// <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");
 }
Exemplo n.º 3
0
        public async Task <bool> AnyAsync(IInventAppPredicate <TAggregateRoot> inventAppPredicate = null)
        {
            var thereIsAny = (await GetAsync(inventAppPredicate)).Any();

            return(thereIsAny);
        }
Exemplo n.º 4
0
        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);
 }