using AutoMapper; using AutoMapper.QueryableExtensions; using CleanArchitecture.Application.Common.Models; using Microsoft.EntityFrameworkCore; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace CleanArchitecture.Application.Common.Mappings { public static class MappingExtensions { public static Task<PaginatedList<TDestination>> PaginatedListAsync<TDestination>(this IQueryable<TDestination> queryable, int pageNumber, int pageSize) => PaginatedList<TDestination>.CreateAsync(queryable, pageNumber, pageSize); public static Task<List<TDestination>> ProjectToListAsync<TDestination>(this IQueryable queryable, IConfigurationProvider configuration) => queryable.ProjectTo<TDestination>(configuration).ToListAsync(); } }