Olá Filipi! tudo bom camarada?
Entendo sua dúvida e é uma situação comum quando lidamos com dados que podem ter duplicidade, como nomes de artistas. Para garantir que você está manipulando o artista correto, especialmente quando há duplicados, é importante trabalhar com o Id
único de cada artista.
No seu caso, parece que a navegação está sendo feita usando apenas o nome do artista como parâmetro de rota. Isso pode causar problemas se houver artistas com o mesmo nome. Uma solução seria modificar a rota para incluir o Id
do artista, que é único, garantindo que você está acessando o artista correto.
Aqui está uma sugestão de como você pode ajustar isso:
Modificar a Rota: Altere a rota para incluir o Id
do artista:
@page "/EditarArtista/{ArtistaId:int}"
Atualizar o Código para Passar o Id: No componente CardArtista.razor
, modifique o Href
para passar o Id
em vez do nome:
<MudCardActions>
<MudButton Color="Color.Warning"
Variant="Variant.Outlined"
Href=@($"/EditarArtista/{Artista!.Id}")>Detalhes</MudButton>
</MudCardActions>
Ajustar o Código para Receber o Id: No componente EditarArtista.razor
, ajuste para receber o Id
como parâmetro e buscar o artista por esse Id
:
[Parameter]
public int ArtistaId { get; set; }
protected override async Task OnInitializedAsync()
{
Artista = await artistasAPI.GetArtistaPorIdAsync(ArtistaId);
nome = Artista!.Nome;
biografia = Artista!.Bio;
}
Adicionar Método para Buscar por Id: No ArtistasAPI.cs
, adicione um método para buscar o artista pelo Id
:
public async Task<ArtistaResponse?> GetArtistaPorIdAsync(int id)
{
return await _httpClient.GetFromJsonAsync<ArtistaResponse>($"artistas/{id}");
}
Com essas alterações, você deve ser capaz de garantir que está sempre manipulando o artista correto, mesmo que haja duplicidade de nomes. Espero que essa abordagem ajude a resolver o problema que você está enfrentando.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!