Resolução Desafio 1 e 2
Classe Conta
class Conta
{
private double saldo;
private double limite;
public int Agencia { get; set; }
public int NumeroDaConta { get; set; }
public double Saldo
{
get => saldo;
set { if(value > 0 && value <= limite) saldo = value; }
}
public double Limite
{
get => limite;
set { if (value > 0) limite = value; }
}
public Titular Titular { get; set; }
public string InformacoesDaConta =>
$"Agencia: {Agencia}\nNúmero da conta: {NumeroDaConta}\nSaldo: {Saldo}\nLimite: {Limite}";
public void ExibirInformacoesDaConta() =>
Console.WriteLine($"{InformacoesDaConta}\n{Titular.InformacoesTitular}");
}
Classe Titular
class Titular
{
public string Nome { get; set; }
public int Idade { get; set; }
public int AnoDeNascimento { get; set; }
public long Cpf { get; set; }
public string InformacoesTitular =>
$"Nome: {Nome}\nIdade: {Idade}\nAno de Nascimento: {AnoDeNascimento}\nCPF: {Cpf}";
}
Executar:
Titular titular1 = new Titular()
{
Nome = "Jorge",
Idade = 42,
AnoDeNascimento = 1982,
Cpf = 42932012394
};
Conta conta = new Conta()
{
Agencia = 001,
NumeroDaConta = 1,
Limite = 10000,
Saldo = 400,
Titular = titular1
};
conta.ExibirInformacoesDaConta();
Resolução Desafio 3:
Classe Produto
class Produto
{
private double preco;
private int estoque;
public string Nome { get; set; }
public double Preco
{
get => preco;
set { if (value > 0) preco = value; else Console.WriteLine("O preço precisa ser positivo");}
}
public int Estoque
{
get => estoque;
set { if (value > 0) estoque = value; else Console.WriteLine("O estoque precisa ser positivo"); }
}
public string DescricaoCompleta =>
$"Nome: {this.Nome}\nPreco: {this.Preco}\nEstoque: {this.Estoque}\n";
public Produto CriarProduto(string nome, double preco, int estoque)
{
return new Produto()
{
Nome = nome,
Preco = preco,
Estoque = estoque
};
}
}
Classe Estoque
class Estoque
{
public string Nome { get; set; }
public List<Produto> ProdutosList { get; set; }
public void AdicionarProdutoEstoque(Produto produto)
{
this.ProdutosList.Add(produto);
}
public Estoque CriarEstoque(string nome)
{
return new Estoque
{
Nome = nome,
ProdutosList = new List<Produto>()
};
}
public void ExibirInformacoesDoEstoque()
{
Console.WriteLine($"{this.Nome}\n");
foreach (var item in this.ProdutosList)
Console.WriteLine(item.DescricaoCompleta);
}
}
Executar:
Estoque estoque = new Estoque().CriarEstoque("Estoque de produtos unitários");
Produto produto = new Produto().CriarProduto("Sand de queijo", 12.90, 30);
Produto produto2 = new Produto().CriarProduto("Sand de presunto", 10.90, 21);
estoque.AdicionarProdutoEstoque(produto);
estoque.AdicionarProdutoEstoque(produto2);
estoque.ExibirInformacoesDoEstoque();