Eu fiz uma classe para registrar uma música e uma para avaliar a musica registrada, creio que estou com um problema na classe de registração, devo ter instanciado algo errado, mas que nao estou achando o problema, pois na hora de avaliar a musica me dá que ela não foi encontrada, poderiam analisar essas minhas duas classes e me ajudarem com o possível problema?
Classe Menu Registrar Musica:
using ScreenSound.Modelos;
namespace ScreenSound.Menus;
internal class MenuRegistrarMusica : Menu
{
public override void Executar(Dictionary<string, Banda> bandasRegistradas)
{
base.Executar(bandasRegistradas);
ExibirTituloDaOpcao("Registro de musicas");
Console.Write("Digite a banda cujo a musica deseja registrar: ");
string nomeDaBanda = Console.ReadLine()!;
if (bandasRegistradas.ContainsKey(nomeDaBanda))
{
Console.Write("Agora digite o nome da musica que deseja registrar: ");
string nomeMusica = Console.ReadLine()!;
Banda banda = bandasRegistradas[nomeDaBanda];
banda.AdicionarMusica(new Musica(nomeMusica));
Console.WriteLine($"\nA musica {nomeMusica} de {nomeDaBanda} foi registrada com sucesso!");
Thread.Sleep(2000);
Console.Clear();
}
else
{
Console.WriteLine($"\nA banda {nomeDaBanda} não foi encontrada!");
Console.WriteLine("Digite uma tecla para voltar ao menu principal");
Console.ReadKey();
Console.Clear();
}
}
}
Classe Menu Avaliar Musica:
using ScreenSound.Modelos;
namespace ScreenSound.Menus;
internal class MenuAvaliarMusica : Menu
{
public override void Executar(Dictionary<string, Banda> bandasRegistradas)
{
base.Executar(bandasRegistradas);
ExibirTituloDaOpcao("Avaliar musica");
Console.Write("Digite o nome da musica que deseja avaliar: ");
string nomeMusica = Console.ReadLine()!;
if(bandasRegistradas.ContainsKey(nomeMusica))
{
Console.Write($"Qual a nota que essa musica merece? ");
Avaliacao nota = Avaliacao.Parse(Console.ReadLine()!);
Banda banda = bandasRegistradas[nomeMusica];
banda.AdicionarNota(nota);
Console.WriteLine($"\nA nota {nota.Nota} foi registrada com sucesso para a musica {nomeMusica}");
Thread.Sleep(2000);
Console.Clear();
}
else
{
Console.WriteLine($"\nA musica {nomeMusica} não foi encontrada!");
Console.WriteLine("Digite uma tecla para voltar ao menu principal");
Console.ReadKey();
Console.Clear();
}
}
}