Beispiel #1
0
        protected async Task <IAuditQueryResult> Execute(AuditQuerySort sortColumn,
                                                         AuditQuerySortDirection direction, Func <IQueryable <AuditEntity>, IQueryable <AuditEntity> > applyPaging)
        {
            var query = Query
                        .Where(criteriaBuilder.Build());

            long numberOfRows = await Count <AuditEntity>(query);

            var results = ToOrderedList(query, sortColumn, direction);

            return(CreateResults(results, numberOfRows));
        }
Beispiel #2
0
        private IEnumerable <AuditEntity> ToOrderedList(IQueryable <AuditEntity> query,
                                                        AuditQuerySort sortColumn, AuditQuerySortDirection direction)
        {
            Expression <Func <AuditEntity, object> > sortColumnSelector = ae => ae.When;

            sortColumnSelector = SortColumnSelectors[sortColumn];

            query = direction == AuditQuerySortDirection.Descending ? query.OrderByDescending(sortColumnSelector) : query.OrderBy(sortColumnSelector);


            query = ApplyAnyPaging(query);

            return(query);
        }
Beispiel #3
0
 protected virtual Task <IAuditQueryResult> Execute(AuditQuerySort sortColumn,
                                                    AuditQuerySortDirection direction)
 {
     return(Execute(sortColumn, direction, _ => _));
 }