Example #1
0
        public static System.Linq.Expressions.Expression <Func <AbuseQueryEntity, bool> > returnWhereClause(AbuseEntity entity)
        {
            var where_clause = PredicateBuilder.New <AbuseQueryEntity>(true);

            if (entity.contentid > 0)
            {
                where_clause = where_clause.And(p => p.abusereports.contentid != entity.contentid);
            }

            where_clause = where_clause.And(p => p.abusereports.type == (byte)entity.type);

            if (entity.status != Status.All)
            {
                where_clause = where_clause.And(p => p.abusereports.status == (byte)entity.status);
            }

            return(where_clause);
        }
Example #2
0
        public static IQueryable <AbuseQueryEntity> processOptionalConditions(IQueryable <AbuseQueryEntity> collectionQuery, AbuseEntity query)
        {
            if (query.order != "")
            {
                collectionQuery = (IQueryable <AbuseQueryEntity>)collectionQuery.Sort(query.order);
            }

            if (query.id == 0)
            {
                // skip logic
                if (query.pagenumber > 1)
                {
                    collectionQuery = collectionQuery.Skip(query.pagesize * (query.pagenumber - 1));
                }
                // take logic
                if (!query.loadall)
                {
                    collectionQuery = collectionQuery.Take(query.pagesize);
                }
            }
            return(collectionQuery);
        }
Example #3
0
 public static Task <int> Count(ApplicationDbContext context, AbuseEntity entity)
 {
     return(prepareQuery(context, entity).CountAsync());
 }
Example #4
0
 private static IQueryable <AbuseQueryEntity> prepareQuery(ApplicationDbContext context, AbuseEntity entity)
 {
     return(context.JGN_AbuseReports
            .Join(context.AspNetusers,
                  abuse => abuse.userid,
                  user => user.Id,
                  (abuse, user) => new AbuseQueryEntity
     {
         abusereports = abuse,
         user = user
     }).Where(returnWhereClause(entity)));
 }
Example #5
0
        public static Task <List <JGN_AbuseReports> > LoadItems(ApplicationDbContext context, AbuseEntity entity)
        {
            var collectionQuery = processOptionalConditions(prepareQuery(context, entity), entity);

            return(LoadCompleteList(collectionQuery));
        }