namespace NetinaShop.Repository.Handlers.Reviews; public class GetReviewQueryHandler : IRequestHandler { private readonly IRepositoryWrapper _repositoryWrapper; public GetReviewQueryHandler(IRepositoryWrapper repositoryWrapper) { _repositoryWrapper = repositoryWrapper; } public async Task Handle(GetReviewQuery request, CancellationToken cancellationToken) { var review = await _repositoryWrapper.SetRepository() .TableNoTracking .Where(r => r.Id == request.Id) .Select(ReviewMapper.ProjectToLDto) .FirstOrDefaultAsync(cancellationToken); if (review == null) throw new AppException("Review not found", ApiResultStatusCode.NotFound); return review; } }