Exemplo n.º 1
0
        public bool Transferir(TransferenciaSolicitacao transferencia)
        {
            var contaOrigem = _contaCorrenteRepositorio.Obter(transferencia.ContaOrigem);

            if (contaOrigem == null)
            {
                _notificacao.AddNotification(nameof(transferencia.ContaOrigem), "A conta origem não existe");
                return(false);
            }
            var contaDestino = _contaCorrenteRepositorio.Obter(transferencia.ContaDestino);

            if (contaDestino == null)
            {
                _notificacao.AddNotification(nameof(transferencia.ContaDestino), "A conta destino não existe");
                return(false);
            }

            return(_transacao.RealizarTransacao(TransferenciaSolicitacao.operacao, contaOrigem, transferencia.valor, contaDestino));
        }
Exemplo n.º 2
0
        public ContaCorrenteSolicitacao Salvar(ContaCorrenteSolicitacao conta)
        {
            if (_contaCorrenteRepositorio.Obter(conta.Conta) != null)
            {
                _notificacao.AddNotification(nameof(conta.Conta), "Conta cadastrada");

                return(new ContaCorrenteSolicitacao());
            }

            ContaCorrente contaCorrente = new ContaCorrente(Guid.NewGuid(), conta.Conta, conta.Agencia, conta.Correntista, conta.Valor);

            if (contaCorrente.Invalid)
            {
                _notificacao.AddNotifications(contaCorrente.Notifications);

                return(new ContaCorrenteSolicitacao());
            }

            _contaCorrenteRepositorio.Salvar(contaCorrente);



            return(conta);
        }