namespace Alura.Filmes
{
public class Filme
{
public string Titulo { get; set; }
public int DuracaoMinutos { get; set; }
public List<Artista> Elenco { get; private set; }
public Filme(string titulo, int duracaoMinutos)
{
Titulo = titulo;
DuracaoMinutos = duracaoMinutos;
Elenco = new List<Artista>();
}
public void AdicionarArtista(Artista artista)
{
if (!Elenco.Contains(artista))
{
Elenco.Add(artista);
}
if (!artista.Filmes.Contains(this))
{
artista.Filmes.Add(this);
}
}
public void ExibirInfo()
{
Console.WriteLine($"Título: {Titulo}");
Console.WriteLine($"Duração: {DuracaoMinutos} minutos");
Console.WriteLine("Elenco:");
foreach (var artista in Elenco)
{
Console.WriteLine($"- {artista.Nome}");
}
Console.WriteLine("-----------------------------");
}
}
}
namespace Alura.Filmes
{
public class Artista
{
public string Nome { get; set; }
public int Idade { get; set; }
public List<Filme> Filmes { get; private set; }
public Artista(string nome, int idade)
{
Nome = nome;
Idade = idade;
Filmes = new List<Filme>();
}
public void ExibirInfo()
{
Console.WriteLine($"Artista: {Nome}, {Idade} anos");
Console.WriteLine("Filmes:");
foreach (var filme in Filmes)
{
Console.WriteLine($"- {filme.Titulo}");
}
Console.WriteLine("-----------------------------");
}
}
}
using Alura.Filmes;
class Program
{
static void Main()
{
Artista dicaprio = new Artista("Leonardo DiCaprio", 51);
Artista keanu = new Artista("Keanu Reeves", 61);
Artista crowe = new Artista("Russell Crowe", 61);
Artista hathaway = new Artista("Anne Hathaway", 43);
Artista mcconaughey = new Artista("Matthew McConaughey", 56);
Filme f1 = new Filme("Interestelar", 169);
Filme f2 = new Filme("O Senhor dos Anéis: A Sociedade do Anel", 178);
Filme f3 = new Filme("Matrix", 136);
Filme f4 = new Filme("A Origem", 148);
Filme f5 = new Filme("Gladiador", 155);
f1.AdicionarArtista(mcconaughey);
f1.AdicionarArtista(hathaway);
f3.AdicionarArtista(keanu);
f4.AdicionarArtista(dicaprio);
f5.AdicionarArtista(crowe);
List<Filme> filmes = new List<Filme> { f1, f2, f3, f4, f5 };
Console.WriteLine("=== FILMES FAVORITOS ===");
foreach (var filme in filmes)
{
filme.ExibirInfo();
}
Console.WriteLine("=== ARTISTAS ===");
dicaprio.ExibirInfo();
keanu.ExibirInfo();
crowe.ExibirInfo();
hathaway.ExibirInfo();
mcconaughey.ExibirInfo();
}
}