using Netina.Domain.Entities.Orders; namespace Netina.Repository.Handlers.Orders; public class GetOrderLDtoQueryHandler(IRepositoryWrapper repositoryWrapper) : IRequestHandler { public async Task Handle(GetOrderLDtoQuery request, CancellationToken cancellationToken) { if (request.Id == default) throw new AppException("Order id is null"); var order = await repositoryWrapper.SetRepository() .TableNoTracking .Where(o => o.Id == request.Id) .Select(OrderMapper.ProjectToLDto) .FirstOrDefaultAsync(cancellationToken); if (order == null) throw new AppException("Order not found", ApiResultStatusCode.NotFound); return order; } }