Relato: Eu estava com dificuldades de implementar a ideia que eu estava sobre o desafio, tentei e não conseguia, quando eu vi o resultado do desafio, consegui compreender quase 100% e ler o código, entender, e quando fui reescrever o código, pareceu mais fácil do que era, a minha dificuldade está sendo a implementação, a escrita do mesmo, parece que o cérebro entra em pane da ERROR, mesmo eu conseguindo entender a estrutura e saber fazer...
Está ai o desafio hahaha
namespace desafio_podcast
{
public class Episodio
{
private List<string> convidados = new();
public Episodio(string titulo, int duracao, int ordem)
{
Titulo = titulo;
Duracao = duracao;
Ordem = ordem;
}
public string Titulo { get; }
public int Duracao { get; }
public int Ordem { get; }
public string Resumo => $"{Ordem}. {Titulo} ({Duracao}) min - {string.Join(", ", convidados)} ";
public void AdicionarConvidados (string convidado)
{
convidados.Add(convidado);
}
}
}
namespace desafio_podcast
{
class Podcast
{
private List<Episodio> episodios = new();
public Podcast(string host, string nome)
{
Host = host;
Nome = nome;
}
public string Host { get; }
public string Nome { get; }
public int TotalEpisodios => episodios.Count;
public void AdicionarEpisodio(Episodio episodio)
{
episodios.Add(episodio);
}
public void ExibirEpisodios()
{
Console.WriteLine($"Podcast {Nome} - Apresentado por {Host}!");
foreach (Episodio episodio in episodios.OrderBy(e => e.Ordem))
{
Console.WriteLine(episodio.Resumo);
}
string s = TotalEpisodios <= 1 ? "episódio" : "episódios";
Console.WriteLine($"Este podcast possui {TotalEpisodios} {s}.");
}
}
}
Episodios epi1 = new("Técnicas de facilitação", 45, 1);
epi1.AdicionarConvidados("Ramon");
Episodios epi2 = new("Técnicas de aprendizado", 67, 2);
epi2.AdicionarConvidados("Pedro");
Episodios epi3 = new("Técnicas de Manipulação", 45, 3);
epi3.AdicionarConvidados("Flavio");
Podcast podcast = new("Podcast Especial", "Patrick");
podcast.AdicionarEpisodio(epi1);
podcast.AdicionarEpisodio(epi2);
podcast.AdicionarEpisodio(epi3);
podcast.ExibirEpisodios();