public async Task <DatabaseManyResult <TEntity> > GetAllWithOrderDescAsync(Expression <Func <TEntity, object> > predicate, int limit = 50, int skip = 0)
        {
            var dbResult = new DatabaseManyResult <TEntity>();

            try
            {
                var dbSet  = _applicationDbContext.Set <TEntity>();
                var result = await dbSet.OrderByDescending(predicate).Skip(skip).Take(limit).ToListAsync <TEntity>();

                if (result == null)
                {
                    throw new ArgumentNullException("Result object is null.");
                }

                dbResult.Success  = true;
                dbResult.Entities = result;
                return(dbResult);
            }
            catch (Exception ex)
            {
                dbResult.Exception = ex;
                dbResult.Message   = "Exception GetAllAsync " + typeof(TEntity).Name;
                return(dbResult);
            }
        }
示例#2
0
        public async Task <DatabaseManyResult <TEntity> > GetAllWithOrderDescAsync(Expression <Func <TEntity, object> > predicate, Expression <Func <TEntity, object> > include, Expression <Func <TEntity, object> > include2 = null, Expression <Func <TEntity, object> > include3 = null, Expression <Func <TEntity, object> > include4 = null, int limit = 50, int skip = 0, bool isAll = false)
        {
            var dbResult = new DatabaseManyResult <TEntity>();

            try
            {
                var dbSet = _applicationDbContext.Set <TEntity>();

                var dbQuery = dbSet.AsQueryable();
                dbQuery = (include != null) ? dbQuery.Include(include) : dbQuery;
                dbQuery = (include2 != null) ? dbQuery.Include(include2) : dbQuery;
                dbQuery = (include3 != null) ? dbQuery.Include(include3) : dbQuery;
                dbQuery = (include4 != null) ? dbQuery.Include(include4) : dbQuery;

                var result      = dbSet.OrderByDescending(predicate ?? (_ => _.Id));
                var resultQuery = !isAll?result.Skip(skip).Take(limit) : result;

                var resultList = await resultQuery.ToListAsync <TEntity>();

                if (result == null)
                {
                    throw new ArgumentNullException("Result object is null.");
                }

                dbResult.Success  = true;
                dbResult.Entities = resultList;
                return(dbResult);
            }
            catch (Exception ex)
            {
                dbResult.Exception = ex;
                dbResult.Message   = "Exception GetAllAsync " + typeof(TEntity).Name;
                return(dbResult);
            }
        }
        public async Task <DatabaseManyResult <TEntity> > GetAllAsync(Expression <Func <TEntity, object> > include, Expression <Func <TEntity, object> > include2 = null, Expression <Func <TEntity, object> > include3 = null, Expression <Func <TEntity, object> > include4 = null, int limit = 50, int skip = 0)
        {
            var dbResult = new DatabaseManyResult <TEntity>();

            try
            {
                var dbSet = _applicationDbContext.Set <TEntity>();

                var dbQuery = dbSet.Include(include);
                dbQuery = (include2 != null) ? dbQuery.Include(include2) : dbQuery;
                dbQuery = (include3 != null) ? dbQuery.Include(include3) : dbQuery;
                dbQuery = (include4 != null) ? dbQuery.Include(include4) : dbQuery;

                var result = await dbQuery.OrderBy(_ => _.Id).Skip(skip).Take(limit).ToListAsync <TEntity>();

                if (result == null)
                {
                    throw new ArgumentNullException("Result object is null.");
                }

                dbResult.Success  = true;
                dbResult.Entities = result;
                return(dbResult);
            }
            catch (Exception ex)
            {
                dbResult.Exception = ex;
                dbResult.Message   = "Exception GetAllAsync " + typeof(TEntity).Name;
                return(dbResult);
            }
        }
示例#4
0
        public async Task <DatabaseManyResult <TEntity> > SqlQueryManyEntitiesAsync(string query)
        {
            var dbResult = new DatabaseManyResult <TEntity>();

            try
            {
                var result = await _applicationDbContext.Database.SqlQuery <TEntity>(query).ToListAsync();

                if (result == null)
                {
                    throw new ArgumentNullException("Result object is null.");
                }

                dbResult.Success  = true;
                dbResult.Entities = result;
                return(dbResult);
            }
            catch (Exception ex)
            {
                dbResult.Exception = ex;
                dbResult.Message   = "Exception SqlQueryManyEntitiesAsync " + typeof(TEntity).Name;
                return(dbResult);
            }
        }