Boa tarde tudo bem?
por gentileza poderiam avaliar minha solução para esse desafio?
namespace AluraFilmes2.Modelos;
using System;
public class Artista
{
public int Idade { get; set; }
public string Name { get; set; }
public List<Filmes> Filmes = new List<Filmes>();
public Artista(string name, int idade)
{
Name = name;
Idade = idade;
}
public void AddFilmesAtuacao(Filmes filme)
{
Filmes.Add(filme);
}
public string NomeArtista()
{
return Name;
}
}
namespace AluraFilmes2.Modelos;
using System;
public class Filmes
{
public string Name { get; set; }
public double Duration;
public string Description;
public string Gender { get; set; }
public List<Artista> Elenco = new List<Artista>();
public Filmes(string name, string gender)
{
Name = name;
Gender = gender;
Duration = AddDuration();
Description = AddDescription();
this.AddElenco();
}
public double AddDuration()
{
Console.WriteLine($"Qual a Duração do Filme {this.Name}? (Tempo em Minutos): ");
string duracao = Console.ReadLine()!;
double duratarion = double.Parse(duracao);
return duratarion;
}
public string AddDescription()
{
Console.WriteLine($"Adicionar um resume do filme {this.Name}:");
string resume = Console.ReadLine()!;
return resume;
}
public void AddElenco()
{
bool registro = true;
while (registro)
{
Console.WriteLine($"Digite o Nome do Artista Para Adicionar no Elenco do Filme {this.Name}");
string artista = Console.ReadLine()!;
Console.WriteLine("Qual sua idade? ");
string idadeTexto = Console.ReadLine()!;
int idade = int.Parse(idadeTexto);
Artista novoArtista = new(artista, idade);
Elenco.Add(novoArtista);
novoArtista.AddFilmesAtuacao(this); // Passa a instância atual de Filmes para o método
Console.WriteLine("Deseja registrar mais algum Artista? (Y - N )");
string resposta = Console.ReadLine()!;
if (resposta.ToUpper() == "Y")
{
continue;
}
else
{
registro = false;
}
}
}
public void ExibirDetalhes()
{
Console.WriteLine($"Filme: {this.Name}");
Console.WriteLine($"Duração: {this.Duration}");
Console.WriteLine($"Genero: {this.Gender}");
Console.WriteLine($"Descrição: {this.Description}");
Console.Write($"Elenco:{string.Join(", ", this.Elenco.Select(artista => artista.NomeArtista()))} ");
}
}
using AluraFilmes2.Modelos;
Filmes gladiador = new("Gladiador", "Ação");
Filmes velosesEFuriosos = new("Veloses e Furiosos", "Ação");
Filmes midsommer = new("MidSommer", "Terror");
Filmes mortalKombat = new("Mortal Kombat", "Ação");
Filmes doseDupla = new("Dose Dupla", "Ação");
gladiador.ExibirDetalhes();
Console.WriteLine("\n----------------");
velosesEFuriosos.ExibirDetalhes();
Console.WriteLine("\n----------------");
midsommer.ExibirDetalhes();
Console.WriteLine("\n----------------");
mortalKombat.ExibirDetalhes();
Console.WriteLine("\n----------------");
doseDupla.ExibirDetalhes();
Console.WriteLine("\n----------------");