Files
CMS/src/CMSMicroservice.Application/UserOrderCQ/Queries/GetUserOrder/GetUserOrderQueryHandler.cs

26 lines
916 B
C#
Raw Normal View History

namespace CMSMicroservice.Application.UserOrderCQ.Queries.GetUserOrder;
public class GetUserOrderQueryHandler : IRequestHandler<GetUserOrderQuery, GetUserOrderResponseDto>
{
private readonly IApplicationDbContext _context;
public GetUserOrderQueryHandler(IApplicationDbContext context)
{
_context = context;
}
public async Task<GetUserOrderResponseDto> Handle(GetUserOrderQuery request,
CancellationToken cancellationToken)
{
var response = await _context.UserOrders
2025-11-25 04:59:50 +03:30
.Include(i => i.UserAddress)
.Include(i => i.FactorDetailss)
2025-11-25 05:23:55 +03:30
.ThenInclude(t=>t.Product)
.AsNoTracking()
.Where(x => x.Id == request.Id)
.ProjectToType<GetUserOrderResponseDto>()
.FirstOrDefaultAsync(cancellationToken);
return response ?? throw new NotFoundException(nameof(UserOrder), request.Id);
}
}