Podcast
namespace ProjectAluraPOO.PodcastStream;
public class Podcast
{
private string Host { get; }
private string Name { get; }
private int TotalEpisodes { get; set; }
private List<string> guestsList = new List<string>();
private List<Episode> episodesList = new List<Episode>();
public Podcast(string host, string name)
{
Host = host;
Name = name;
}
public void AdicionarEpisodio(Episode episode)
{
episodesList.Add(episode);
TotalEpisodes = episodesList.Count;
}
public void ExibirDetalhes()
{
string descriptionEpisdode =
$"""
Host: {Host}
Nome: {Name}
Total de episódios : {TotalEpisodes}
""";
Console.WriteLine(descriptionEpisdode);
Console.WriteLine("\nLista de Convidados: \n");
ListarConvidados();
}
public void AdicionarConvidados()
{
Console.WriteLine("Digite o nome do convidado");
string convidado = Console.ReadLine()!;
guestsList.Add(convidado);
Console.WriteLine("Quer adicionar mais um convidado? (S/N)");
var choice = Console.ReadLine()!;
if (choice.Equals("sim") || choice.Equals("s"))
{
AdicionarConvidados();
}
else
{
Console.WriteLine("Saindo...");
Console.Clear();
Thread.Sleep(200);
}
}
void ListarConvidados()
{
foreach (var nameGuests in guestsList)
{
Console.WriteLine("* " + nameGuests);
}
}
public void ExibirEpisodios()
{
var orderedEpisodes = episodesList.OrderBy(e => e.GetTitle()).ToList();
foreach (var episode in orderedEpisodes)
{
Console.WriteLine(episode.GetTitle());
}
}
}
Episódios
namespace ProjectAluraPOO.PodcastStream;
public class Episode
{
private float Duration { get; set; }
private string Resume { get; set; }
private string Title { get; set; }
public Episode(string title, float duration, string resume)
{
Duration = duration;
Resume = resume;
Title = title;
}
public string GetTitle()
{
return Title;
}
}
Implementação do código na classe principal
using ProjectAluraPOO.PodcastStream;
namespace ProjectAluraPOO;
public class Program
{
public static void Main(string[] args)
{
var podcast = new Podcast("Paulo Silveira", "Hipsters.Tech");
var episodeCsharp = new Episode("Conhecendo o C#", 120, "Destrinchando o C# e conhecendo suas características");
var episodeJava = new Episode("Falando de Java", 60, "Conversando sobre Java");
var episodePython = new Episode("Aprendendo Python", 90, "Descobrindo as maravilhas do Python");
var episodeJS = new Episode("Dominando JavaScript", 120, "Explorando as possibilidades do JavaScript");
podcast.AdicionarEpisodio(episodeCsharp);
podcast.AdicionarEpisodio(episodeJava);
podcast.AdicionarEpisodio(episodePython);
podcast.AdicionarEpisodio(episodeJS);
podcast.AdicionarConvidados();
podcast.ExibirDetalhes();
podcast.ExibirEpisodios();
}
}