Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Desafio | Construindo com informações

Olha eu de novo aqui, pro desafio final

Eis que ficou assim:

Model > Usuarios

Cliente.cs

    namespace bytebank.Model.Usuarios
{
    public class Cliente
    {
        public int totalDeCliente { get; private set; }
        public string nome;
        public string cpf;
        public string profissao;

        public Cliente(string nome, string cpf, string profissao)
        {
            this.nome = nome;
            this.cpf = cpf;
            this.profissao = profissao;
            totalDeCliente++;
        }

    }
}

Model > Contas

ContaCorrente.cs

using bytebank.Model.Usuarios;

namespace bytebank.Model.Contas
{
    public class ContaCorrente
    {
        public int totalDeContasCorrente { get; private set; }
        private int numeroAgencia;
        private string conta;
        public Cliente titular;
        private double saldo;

        public ContaCorrente(int numeroAgencia, string conta, Cliente titular)
        {
            this.numeroAgencia = numeroAgencia;
            this.conta = conta;
            this.titular = titular;
            this.saldo = 0;
            totalDeContasCorrente++;
        }

        public bool Depositar(double valor)
        {
            bool podeDepositar = valor > 0;

            if (podeDepositar)
            {
                this.saldo += valor;
                return podeDepositar;
            }
            return podeDepositar;
        }

        public bool Sacar(double valor)
        {
            bool podeSacar = valor > 0 && valor <= this.saldo;

            if (podeSacar)
            {
                this.saldo -= valor;
                return true;
            }
            return false;
        }

        public bool Transferir(double valor, ContaCorrente contaDestino)
        {
            bool podeTransferir = valor > 0 && valor <= this.saldo;

            if (podeTransferir)
            {
                this.saldo -= valor;
                contaDestino.Depositar(valor);
                return true;
            }
            return false;
        }

        public void GetConta()
        {
            Console.WriteLine($"--------------------------");
            Console.WriteLine($"Dados da conta:");
            Console.WriteLine($"Conta: {this.conta}");
            Console.WriteLine($"Agência: {this.numeroAgencia}");
            Console.WriteLine($"Titular: {this.titular.nome}");
            Console.WriteLine($"CPF: {this.titular.cpf}");
            Console.WriteLine($"Profissão: {this.titular.profissao}");
            Console.WriteLine($"Saldo: {this.saldo}");
            Console.WriteLine($"--------------------------");
        }

        public double GetSaldo()
        {
            return this.saldo;
        }

        public void SetSaldo(double saldo)
        {
            if (saldo > 0)
            {
                this.saldo = saldo;
            }
        }

    }
}

Ponto de entrada

Program.cs

using bytebank.Model.Contas;
using bytebank.Model.Usuarios;

ContaCorrente contaDoLucas = new ContaCorrente(863, "863146", new Cliente("Lucas Ferreira", "123.456.789-10", "Desenvolvedor"));
contaDoLucas.SetSaldo(0);

contaDoLucas.Depositar(500);
Console.WriteLine($"Saldo da conta do Lucas: {contaDoLucas.GetSaldo()}");

bool sacou = contaDoLucas.Sacar(100);
Console.WriteLine($"Saldo da conta do Lucas: {contaDoLucas.GetSaldo()}");

ContaCorrente contaDaVanderleia = new ContaCorrente(368, "465789", new Cliente("Vanderleia Gomes", "019.876.543-21", "Técnica em Enfermagem"));
Console.WriteLine($"Saldo da conta da Vanderleia: {contaDaVanderleia.GetSaldo()}");

contaDoLucas.Transferir(2100, contaDaVanderleia);
Console.WriteLine($"Saldo da conta do Lucas: {contaDoLucas.GetSaldo()}");
Console.WriteLine($"Saldo da conta da Vanderleia: {contaDaVanderleia.GetSaldo()}");

contaDoLucas.Transferir(100, contaDaVanderleia);
Console.WriteLine($"Saldo da conta do Lucas: {contaDoLucas.GetSaldo()}");
Console.WriteLine($"Saldo da conta da Vanderleia: {contaDaVanderleia.GetSaldo()}");

contaDoLucas.GetConta();
contaDaVanderleia.GetConta();

Console.WriteLine($"Total de contas corrente: {ContaCorrente.totalDeContasCorrente}");
Console.WriteLine($"Total de clientes: {Cliente.totalDeCliente}");
Obrigado por lerem até aqui. Bons Estudos! e uma ótima semana.
1 resposta
solução!

Bom dia Lucas, tudo bom?

Parabéns pela realização das atividades, código está ficando bacana heim! Continue focado e praticando.

Abraços e bons estudos!