using System; using MediatR; using Microsoft.EntityFrameworkCore; using Venues.DbContexts; using Venues.Entities; using Venues.Helpers; using Venues.Queries; namespace Venues.Handlers { public class GetVenuesQueryHandler : IRequestHandler> { private readonly VenuesContext _dbContext; public GetVenuesQueryHandler(VenuesContext dbContext) { _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext)); } public async Task> Handle(GetVenuesQuery request, CancellationToken cancellation) { return PagedList.ToPagedList(await _dbContext.Venues.ToListAsync(), request.PageNumber, request.PageSize); } } }