using BackOffice.BFF.Commission.Protobuf; namespace BackOffice.BFF.Application.CommissionCQ.Commands.ProcessWithdrawal; public class ProcessWithdrawalCommandHandler : IRequestHandler { private readonly IApplicationContractContext _context; public ProcessWithdrawalCommandHandler(IApplicationContractContext context) { _context = context; } public async Task Handle(ProcessWithdrawalCommand request, CancellationToken cancellationToken) { var grpcRequest = new ProcessWithdrawalRequest { WithdrawalId = request.WithdrawalId, TransactionId = request.TransactionId ?? string.Empty, AdminNote = request.AdminNote ?? string.Empty }; var response = await _context.Commissions.ProcessWithdrawalAsync(grpcRequest, cancellationToken: cancellationToken); return new ProcessWithdrawalResponseDto { Success = response.Success, Message = response.Message }; } }