28 lines
963 B
C#
28 lines
963 B
C#
using BackOffice.BFF.DiscountOrder.Protobuf.Protos.DiscountOrder;
|
|
using Mapster;
|
|
|
|
namespace BackOffice.BFF.Application.DiscountOrderCQ.Queries.GetOrderById;
|
|
|
|
public class GetOrderByIdQueryHandler : IRequestHandler<GetOrderByIdQuery, GetOrderByIdResponseDto>
|
|
{
|
|
private readonly IApplicationContractContext _context;
|
|
|
|
public GetOrderByIdQueryHandler(IApplicationContractContext context)
|
|
{
|
|
_context = context;
|
|
}
|
|
|
|
public async Task<GetOrderByIdResponseDto> Handle(GetOrderByIdQuery request, CancellationToken cancellationToken)
|
|
{
|
|
var grpcRequest = new GetOrderByIdRequest
|
|
{
|
|
OrderId = request.OrderId,
|
|
UserId = request.UserId
|
|
};
|
|
|
|
var response = await _context.DiscountOrders.GetOrderByIdAsync(grpcRequest, cancellationToken: cancellationToken);
|
|
|
|
return TypeAdapter.Adapt(response, response.GetType(), typeof(GetOrderByIdResponseDto)) as GetOrderByIdResponseDto;
|
|
}
|
|
}
|