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
            });
        }
Exemplo n.º 2
0
        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);
        }