0
respostas

Resposta - Exercícios 1 e 2

Exercício 1 e Exercício 2:

public class Holder
{
    private int _age;
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Document { get; set; }
    public DateTime DateBirth { get; set; }
    public int Age => (int)((DateTime.Today - DateBirth).TotalDays / 365);
    public string DetailedDescription => $"Holder: {this.FirstName} {this.LastName} - Document: {this.Document} - Date of Birth {this.DateBirth:dd/MM/yyyy}";

    public Holder(string firstName, string lastName, string document, DateTime dateBirth, int age)
    {
        FirstName = firstName;
        LastName = lastName;
        Document = document;
        DateBirth = dateBirth;

        if (Age < 18)
            throw new ArgumentOutOfRangeException(nameof(DateBirth), "Only adults can create an account.");
    }
}
public class BankAccount
{
    public int AccountNumber { get; set; }
    public Holder Holder { get; set; }
    public double Balance { get; set; }
    public string Password { get; set; }

    public BankAccount(int accountNumber, Holder holder, double balance, string password)
    {
        AccountNumber = accountNumber;
        Holder = holder;
        Balance = balance;
        Password = new string('*', 3) + password[3..^3] + new string('*', 3);
    }

    public void ShowDetails()
    {
        Console.WriteLine($"Account Number: {AccountNumber}");
        Console.WriteLine(Holder.DetailedDescription);
        Console.WriteLine($"Balance: {Balance:F2}");
        Console.WriteLine($"Password: {Password}");
    }
}
Holder holder = new Holder("Carlos", "Eduardo", "123.456.789-10", new DateTime(2000, 7, 15), 22);
BankAccount bankAccount = new BankAccount(1, holder, 300.00, "123456789");
bankAccount.ShowDetails();