public async Task <CreditPledgeCommandResult> Handle(CreditPledgeCommand request, CancellationToken cancellationToken) { if (request.Amount <= 0) { _logger.LogInformation($"Amount is 0 for pledge {request.PledgeId} - pledge will *not* be credited"); return(new CreditPledgeCommandResult() { CreditPledgeSkipped = true, }); } _logger.LogInformation($"Crediting pledge {request.PledgeId}"); var data = new CreditPledgeRequest.CreditPledgeRequestData { Amount = request.Amount, ApplicationId = request.ApplicationId }; var debitRequest = new CreditPledgeRequest(request.PledgeId, data); var response = await _levyTransferMatchingService.CreditPledge(debitRequest); return(new CreditPledgeCommandResult { ErrorContent = response.ErrorContent, StatusCode = response.StatusCode }); }
public async Task <Unit> Handle(ApplicationWithdrawnAfterAcceptanceCommand request, CancellationToken cancellationToken) { var apiRequest = new CreditPledgeRequest(request.PledgeId, new CreditPledgeRequest.CreditPledgeRequestData { ApplicationId = request.ApplicationId, Amount = request.Amount }); await _levyTransferMatchingService.CreditPledge(apiRequest); return(Unit.Value); }