public void testar_saque() { var conta = new ContaCorrente(); conta.Credita(1000); conta.Numero = 123; TransacaoBancaria saque = new Saque(conta, 500); saque.Executa(); Comprovante comprovante = saque.Comprovante; RepositorioTransacaoBancaria.LimparRepositorio(); RepositorioTransacaoBancaria.Adicionar(saque); Assert.Contains(saque, RepositorioTransacaoBancaria.Listar()); Saque recuperado = RepositorioTransacaoBancaria.Listar().Cast<Saque>().FirstOrDefault(); List<Saque> saques = RepositorioTransacaoBancaria.Listar() .Where(t => t.GetType().Name == typeof(Saque).Name) .Cast<Saque>() .ToList(); Assert.AreEqual(saque, recuperado); }
public void Executar() { if (_conta.Status != "Bloqueado" && _conta.Saldo >= _valor) { TransacaoBancaria saque = new Saque(_conta, _valor); saque.Executa(); RepositorioTransacaoBancaria.Adicionar(saque); } }
public void Saque(ContaCorrente contaOrigem, decimal valor) { if (contaOrigem.Status.Equals(ContaCorrente.StatusConta.Ativa.ToString())) { TransacaoBancaria transacao = new Saque(contaOrigem, valor); ValidaSaldo(contaOrigem, valor, "Saque"); transacao.Executa(); } else { throw new Exception("Conta não está ativa"); } }
public static void Adicionar(Saque saque) { saques.Add(saque); }