using Alura.Filmes;
// Atribuição de artistas
Artista a1 = new Artista { Nome = "Vin Diesel", Idade = 56 };
Artista a2 = new Artista { Nome = "Paul Walker", Idade = 40 };
Artista a3 = new Artista { Nome = "Michelle Rodriguez", Idade = 44 };
Artista a4 = new Artista { Nome = "Dwayne Johnson", Idade = 51 };
// Criação de filmes
Filme f1 = new Filme { Titulo = "Velozes e Furiosos", Duracao = "1:46min"};
Filme f2 = new Filme { Titulo = "Velozes e Furiosos 2", Duracao = "1:47min"};
Filme f3 = new Filme { Titulo = "Velozes e Furiosos 3", Duracao = "1:48min"};
Filme f4 = new Filme { Titulo = "Velozes e Furiosos 4", Duracao = "1:50min"};
Filme f5 = new Filme { Titulo = "Velozes e Furiosos 5", Duracao = "2:10min"};
// Adicionando artistas aos filmes
f1.AdicionarArtista(a1);
f1.AdicionarArtista(a2);
f1.AdicionarArtista(a3);
f2.AdicionarArtista(a1);
f2.AdicionarArtista(a2);
f2.AdicionarArtista(a3);
f2.AdicionarArtista(a4);
f3.AdicionarArtista(a1);
f3.AdicionarArtista(a2);
f3.AdicionarArtista(a3);
f4.AdicionarArtista(a1);
f4.AdicionarArtista(a2);
f4.AdicionarArtista(a4);
f5.AdicionarArtista(a1);
f5.AdicionarArtista(a2);
// Adicionando artistas aos filme
// Guardar em uma lista
List<Filme> filmesFavoritos = new List<Filme> { f1, f2, f3, f4, f5 };
foreach (var filme in filmesFavoritos)
{
Console.WriteLine($"Filme: {filme.Titulo}");
Console.WriteLine($"Duração: {filme.Duracao}");
if (filme.Elenco.Count > 0)
{
List<string> nomes = new List<string>();
foreach (var artista in filme.Elenco)
{
nomes.Add(artista.Nome);
}
Console.WriteLine("Elenco: " + string.Join(", ", nomes));
}
else
{
Console.WriteLine(" Elenco: Elenco não informado");
}
Console.WriteLine(new string('-', 40));
}
namespace Alura.Filmes;
class Artista
{
// Propriedades
public string Nome { get; set; }
public int Idade { get; set; }
public List<Filme> FilmesParticipados { get; set; } = new List<Filme>();
// Método para adicionar um filme ao artista
public void AdicionarFilme(Filme filme)
{
FilmesParticipados.Add(filme);
filme.Elenco.Add(this);
}
}
namespace Alura.Filmes;
// Definição da classe Filme
class Filme
{
// Propriedades
public string Titulo { get; set; }
public string Duracao { get; set; }
public List<Artista> Elenco { get; set; } = new List<Artista>();
// Método para adicionar um artista ao elenco
public void AdicionarArtista (Artista artista)
{
Elenco.Add(artista);
artista.FilmesParticipados.Add(this);
}
}