예제 #1
0
 public DapperRepository_Tests()
 {
     _productDapperRepository       = Resolve <IDapperRepository <Product> >();
     _productRepository             = Resolve <IRepository <Product> >();
     _unitOfWorkManager             = Resolve <IUnitOfWorkManager>();
     _productDetailRepository       = Resolve <IRepository <ProductDetail> >();
     _productDetailDapperRepository = Resolve <IDapperRepository <ProductDetail> >();
     _personRepository          = Resolve <IRepository <Person> >();
     _personDapperRepository    = Resolve <IDapperRepository <Person> >();
     _goodDapperRepository      = Resolve <IDapperRepository <Good> >();
     _dapperQueryFilterExecuter = Resolve <IDapperQueryFilterExecuter>();
 }
예제 #2
0
        public override IEnumerable <TEntity> GetAllPaged(Expression <Func <TEntity, bool> > predicate, int pageNumber, int itemsPerPage, string sortingProperty, bool ascending = true)
        {
            IPredicate filteredPredicate = IDapperQueryFilterExecuter.ExecuteFilter <TEntity, TPrimaryKey>(predicate);

            return(Connection.GetPage <TEntity>(
                       filteredPredicate,
                       new List <ISort> {
                new Sort {
                    Ascending = ascending, PropertyName = sortingProperty
                }
            },
                       pageNumber,
                       itemsPerPage,
                       Transaction));
        }
예제 #3
0
        public override IEnumerable <TEntity> GetSet(Expression <Func <TEntity, bool> > predicate, int firstResult, int maxResults, string sortingProperty, bool ascending = true)
        {
            IPredicate filteredPredicate = IDapperQueryFilterExecuter.ExecuteFilter <TEntity, TPrimaryKey>(predicate);

            return(Connection.GetSet <TEntity>(
                       filteredPredicate,
                       new List <ISort> {
                new Sort {
                    Ascending = ascending, PropertyName = sortingProperty
                }
            },
                       firstResult,
                       maxResults,
                       Transaction
                       ));
        }
예제 #4
0
        public override IEnumerable <TEntity> GetAll()
        {
            PredicateGroup predicateGroup = IDapperQueryFilterExecuter.ExecuteFilter <TEntity, TPrimaryKey>();

            return(Connection.GetList <TEntity>(predicateGroup, transaction: Transaction));
        }
예제 #5
0
        public override TEntity FirstOrDefault(Expression <Func <TEntity, bool> > predicate)
        {
            IPredicate pg = IDapperQueryFilterExecuter.ExecuteFilter <TEntity, TPrimaryKey>(predicate);

            return(Connection.GetList <TEntity>(pg, transaction: Transaction).FirstOrDefault());
        }
예제 #6
0
        public override TEntity Single(Expression <Func <TEntity, bool> > predicate)
        {
            IPredicate pg = IDapperQueryFilterExecuter.ExecuteFilter <TEntity, TPrimaryKey>(predicate);

            return(Connection.GetList <TEntity>(pg).Single());
        }
예제 #7
0
        public override IEnumerable <TEntity> GetSet(Expression <Func <TEntity, bool> > predicate, int firstResult, int maxResults, bool ascending = true, params Expression <Func <TEntity, object> >[] sortingExpression)
        {
            IPredicate filteredPredicate = IDapperQueryFilterExecuter.ExecuteFilter <TEntity, TPrimaryKey>(predicate);

            return(Connection.GetSet <TEntity>(filteredPredicate, sortingExpression.ToSortable(ascending), firstResult, maxResults, Transaction));
        }
예제 #8
0
        public override IEnumerable <TEntity> GetAllPaged(Expression <Func <TEntity, bool> > predicate, int pageNumber, int itemsPerPage, bool ascending = true, params Expression <Func <TEntity, object> >[] sortingExpression)
        {
            IPredicate filteredPredicate = IDapperQueryFilterExecuter.ExecuteFilter <TEntity, TPrimaryKey>(predicate);

            return(Connection.GetPage <TEntity>(filteredPredicate, sortingExpression.ToSortable(ascending), pageNumber, itemsPerPage, Transaction));
        }
예제 #9
0
        public override IEnumerable <TEntity> GetAll(Expression <Func <TEntity, bool> > predicate)
        {
            IPredicate filteredPredicate = IDapperQueryFilterExecuter.ExecuteFilter <TEntity, TPrimaryKey>(predicate);

            return(Connection.GetList <TEntity>(filteredPredicate, transaction: Transaction));
        }
예제 #10
0
        public override int Count(Expression <Func <TEntity, bool> > predicate)
        {
            IPredicate filteredPredicate = IDapperQueryFilterExecuter.ExecuteFilter <TEntity, TPrimaryKey>(predicate);

            return(Connection.Count <TEntity>(filteredPredicate, Transaction));
        }
예제 #11
0
 public DapperRepository(IUnitOfWork unitofwork, IDbConnectionProvider dbconnectionProvider, IDapperQueryFilterExecuter dapperQueryFilterExecuter)
 {
     _unitofwork                = unitofwork;
     _dbconnectionProvider      = dbconnectionProvider;
     _dapperQueryFilterExecuter = dapperQueryFilterExecuter;
 }