public async Task <TransferResponse> Transferir(TransferRequest request) { try { TransferResponse response = new TransferResponse(); var transferenciaDebitoEntity = _mapper.Map <TransferenciaDebitoEntity>(request); var transferenciaCreditoEntity = _mapper.Map <TrasnferenciaCreditoEntity>(request); transferenciaDebitoEntity.Validate(transferenciaDebitoEntity); transferenciaCreditoEntity.Validate(transferenciaCreditoEntity); if (!(transferenciaDebitoEntity.Valid || transferenciaCreditoEntity.Valid)) { _notification.AddNotifications(transferenciaDebitoEntity.ValidationResult); _notification.AddNotifications(transferenciaCreditoEntity.ValidationResult); return(response); } response.Data.TransactionId = await _transferenciaService.Transferir(transferenciaDebitoEntity, transferenciaCreditoEntity); return(response); } catch (Exception ex) { throw ex; } }
public ActionResult Post([FromBody] TransferenciaViewModel transferencia) { var contaOrigem = transferencia.ContaOrigem?.ParaEntidade(); var contaDestino = transferencia.ContaDestino?.ParaEntidade(); _transferenciaService.Transferir(contaOrigem, contaDestino, transferencia.Valor); return(Ok()); }