public override RespostaBase EfetuarSaque(double valor) { void saque(ContaBase conta, double v) => conta.Saldo -= v; if (this.Saldo > 0 && this.Saldo >= valor) { saque(this, valor); Movimentacao mov = new Movimentacao(this, DateTime.Now, valor) { Historico = $"Foram sacados R$ { valor }, novo saldo: { this.Saldo }." }; this.Movimentos.Enqueue(mov); return(new RespostaBase() { Mensagem = "Saque efetuado com sucesso", Sucesso = true }); } else { return(new RespostaBase() { Mensagem = "Não há saldo sufiente", Sucesso = false }); } }
public override RespostaBase EfetuarDeposito(double valor) { void deposito(ContaBase conta, double v) => conta.Saldo += v; deposito(this, valor); Movimentacao mov = new Movimentacao(this, DateTime.Now, valor) { Historico = $"Foram depositados R$ { valor }, novo saldo: { this.Saldo }." }; this.Movimentos.Enqueue(mov); return(new RespostaBase() { Mensagem = "Deposito efetuado com sucesso", Sucesso = true }); }