Exemplo n.º 1
0
        public void TransferirContas(ContaCorrente contaCorrente1, ContaCorrente contaCorrente2, double valor)
        {
            if ((contaCorrente1.Saldo + contaCorrente1.Limite) >= valor)
            {
                contaCorrente1.Saldo  -= valor;
                contaCorrente1.Limite += contaCorrente1.Saldo;
                var movimentacao1 = new Movimentacao()
                {
                    Descricao = "Foi descontado para uma transferencia entre contas",
                    Valor     = valor,
                    Tipo      = Tipo.Debito
                };
                contaCorrente1.Movimentacoes.Add(movimentacao1);

                contaCorrente2.Saldo += valor;
                var movimentacao2 = new Movimentacao()
                {
                    Descricao = "Foi adicionado de uma transferencia entre contas",
                    Valor     = valor,
                    Tipo      = Tipo.Credito
                };
                contaCorrente1.Movimentacoes.Add(movimentacao2);
            }
            else
            {
                throw new LimiteAtingidoException("Nao foi possivel efetuar transferencia");
            }
        }
Exemplo n.º 2
0
        public void DepositarContas(ContaCorrente contaCorrente, double valor)
        {
            contaCorrente.Saldo += valor;
            var movimentacao = new Movimentacao()
            {
                Descricao = "Deposito de Conta",
                Valor     = valor,
                Tipo      = Tipo.Credito
            };

            contaCorrente.Movimentacoes.Add(movimentacao);
        }
Exemplo n.º 3
0
 public void SacarConta(ContaCorrente contaCorrente, double valor)
 {
     if ((contaCorrente.Saldo + contaCorrente.Limite) >= valor)
     {
         contaCorrente.Saldo   -= valor;
         contaCorrente.Limite  += contaCorrente.Saldo;
         contaCorrente.Especial = true;
         var movimentacao2 = new Movimentacao()
         {
             Descricao = "Saque de Conta",
             Valor     = valor,
             Tipo      = Tipo.Debito
         };
         contaCorrente.Movimentacoes.Add(movimentacao2);
     }
     else
     {
         throw new LimiteAtingidoException("Nao foi possivel efetuar Saque");
     }
 }