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());
        }