Files
CMS/src/CMSMicroservice.Application/PackageCQ/Queries/GetPackage/GetPackageQueryHandler.cs
2025-09-27 08:46:36 +03:30

23 lines
770 B
C#

namespace CMSMicroservice.Application.PackageCQ.Queries.GetPackage;
public class GetPackageQueryHandler : IRequestHandler<GetPackageQuery, GetPackageResponseDto>
{
private readonly IApplicationDbContext _context;
public GetPackageQueryHandler(IApplicationDbContext context)
{
_context = context;
}
public async Task<GetPackageResponseDto> Handle(GetPackageQuery request,
CancellationToken cancellationToken)
{
var response = await _context.Packages
.AsNoTracking()
.Where(x => x.Id == request.Id)
.ProjectToType<GetPackageResponseDto>()
.FirstOrDefaultAsync(cancellationToken);
return response ?? throw new NotFoundException(nameof(Package), request.Id);
}
}