23 lines
770 B
C#
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);
|
|
}
|
|
}
|