public async Task <ActionResult <BaseResponse <PayForLoanDto> > > Pay(PayForLoanCommand request) { var result = await _mediator.Send(request); if (!result.Success) { return(BadRequest(result)); } return(result); }
public async Task <BaseResponse <PayForLoanDto> > Handle(PayForLoanCommand request, CancellationToken cancellationToken) { try { var change = await _paymentService.FoundPayment(request.LoanId, request.Amount); return(new BaseResponse <PayForLoanDto>(new PayForLoanDto() { Change = change })); } catch (Exception e) { // there should be logging return(new BaseResponse <PayForLoanDto>("An error occurred when handling request.")); } }