2024-08-09 21:55:16 +03:30
|
|
|
|
namespace Netina.Repository.Handlers.Newsletters;
|
2024-02-24 15:39:25 +03:30
|
|
|
|
|
2024-08-09 21:55:16 +03:30
|
|
|
|
public class GetNewsletterMembersQueryHandler(IRepositoryWrapper repositoryWrapper)
|
|
|
|
|
|
: IRequestHandler<GetNewsletterMembersQuery, List<NewsletterMemberSDto>>
|
2024-02-24 15:39:25 +03:30
|
|
|
|
{
|
|
|
|
|
|
public async Task<List<NewsletterMemberSDto>> Handle(GetNewsletterMembersQuery request, CancellationToken cancellationToken)
|
|
|
|
|
|
{
|
2024-08-09 21:55:16 +03:30
|
|
|
|
var dtos = await repositoryWrapper.SetRepository<NewsletterMember>()
|
2024-02-24 15:39:25 +03:30
|
|
|
|
.TableNoTracking
|
|
|
|
|
|
.OrderByDescending(n => n.CreatedAt)
|
|
|
|
|
|
.Select(NewsletterMemberMapper.ProjectToSDto)
|
|
|
|
|
|
.Skip(request.Page * 20)
|
|
|
|
|
|
.Take(20)
|
|
|
|
|
|
.ToListAsync(cancellationToken);
|
|
|
|
|
|
return dtos;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|