protected virtual PagedQueryRequest <TRequest, TResponse> CreateQuery <TRequest, TResponse>(TRequest request, PagerBindModel pagerBindModel) { var user = HttpContext.User; var pagedQueryRequest = new PagedQueryRequest <TRequest, TResponse>(request, user, pagerBindModel.Page, pagerBindModel.PageSize); return(pagedQueryRequest); }
protected override async Task <PagedResponse <UserProfileDto> > Handle(PagedQueryRequest <GetProfilesQuery, UserProfileDto> request) { const string query = "SELECT " + "Id, UserName, Email, Created, Modified, LastLogged " + "FROM dbo.Users " + "Order By Id " + "OFFSET @Offset ROWS " + "FETCH NEXT @Next ROWS ONLY " + "SELECT COUNT(*) from dbo.Users"; await using var conn = DbConnectionFactory.Create(); using var multiQuery = await conn.QueryMultipleAsync(query, request.Pager); var results = await multiQuery.ReadAsync <UserProfileDto>(); var totalCount = await multiQuery.ReadFirstAsync <int>(); return(new PagedResponse <UserProfileDto>(results, request.Pager, totalCount)); }
public async Task <PagedQueryResult <ReturnEntity> > GetAllAsync <ReturnEntity, TOrderBy>(Expression <Func <TEntity, bool> > filter, Expression <Func <TEntity, TOrderBy> > orderBy, PagedQueryRequest pagedQueryRequest) { return(await this.Entity.Where(filter).OrderByDescending(orderBy).AsQueryable() .ToPagedResult <TEntity, ReturnEntity>(pagedQueryRequest.PageNumber, pagedQueryRequest.PageSize)); }
public async Task <PagedQueryResult <Customer> > GetCustomersAwaitingConfirmation(PagedQueryRequest request) { var confirmedCustomers = await GetAllAsync <Customer, DateTime>(e => e.CustomerStatus == Enumerations.CustomerStatus.CONFIRMED, x => x.DateCreated, request); return(confirmedCustomers); }
public async Task <PagedQueryResult <Customer> > GetRejectedCustomers(PagedQueryRequest request) { var confirmedCustomers = await GetAllAsync <Customer, DateTime>(e => e.CustomerStatus == Enumerations.CustomerStatus.REJECTED, x => x.DateCreated, request); return(confirmedCustomers); }