namespace Teste4_Alura.ExercicioOO;
internal class Contato
{
public string Nome { get; set; }
public string Telefone { get; set; }
public Contato(string nome, string telefone)
{
Nome = nome;
Telefone = telefone;
}
}
namespace Teste4_Alura.ExercicioOO;
internal class Agenda
{
public string Proprietario { get; set; }
private List<Contato> contatos { get; }
public int QuantContatos => contatos.Count;
public Agenda(string proprietario)
{
Proprietario = proprietario;
contatos = new List<Contato>();
}
public bool AdicionarContato(Contato contato)
{
bool jaExiste = contatos.Any(nome => nome.Nome == contato.Nome);
if (jaExiste)
{
Console.WriteLine("Contato com esse nome já está na agenda.");
return false;
}
else
{
contatos.Add(contato);
return true;
}
}
public void ListarContatos()
{
Console.WriteLine($"Agenda de: {Proprietario}");
foreach (Contato contato in contatos)
{
Console.WriteLine($" - Contatos: {contato.Nome} | {contato.Telefone}");
}
Console.WriteLine($"Total de Contato: {QuantContatos}");
}
}
# region Desafio Agenda com Controle de Contatos duplicados
using Teste4_Alura.ExercicioOO;
Agenda agenda = new Agenda("Marina Souza");
agenda.AdicionarContato(new Contato("Carlos", "11998887777"));
agenda.AdicionarContato(new Contato("Carlos", "11991112222")); // duplicado
agenda.AdicionarContato(new Contato("Julia", "21988776655"));
agenda.ListarContatos();
#endregion