Une fiche par revue, les numéros à l'intérieur — douze numéros d'un magazine ne font pas
douze fiches. Les revues ne sont pas au catalogue : ce ne sont pas des livres.
@if (_revues is null)
{
Chargement…
}
else if (_revues.Count == 0)
{
Aucune revue. Scannez le code-barres d'un magazine depuis « Ajouter un ouvrage » :
le code d'une revue commence par 977 et porte un ISSN, pas un ISBN. Sans code à lire,
saisissez-la à la main.
@* Le dernier numéro reçu répond seul à « est-ce que je l'ai déjà ? », qui est la
question qu'on se pose devant un kiosque. *@
@if (revue.Numeros.FirstOrDefault() is { } dernier)
{
Dernier : n° @dernier.Numero @Quand(dernier)
}
}
}
@*
⚠️ Le champ « nom d'une nouvelle revue » a quitté cet écran : l'ajout passe par la MÊME
entrée que celle du catalogue, « Ajouter un ouvrage », qui scanne et reconnaît seule un
code 977. Deux points de départ selon ce qu'on croit tenir obligeaient à trancher avant
de regarder le code-barres.
*@
@code {
private IReadOnlyList? _revues;
private static string Quand(NumeroRevueDto numero) =>
numero.DateParution is { } date ? $"({date.ToLocalTime():MM/yyyy})" : string.Empty;
protected override void OnInitialized() => Reseau.Change += SurChangementReseau;
private void SurChangementReseau() => _ = InvokeAsync(async () =>
{
await ChargerAsync();
StateHasChanged();
});
public void Dispose() => Reseau.Change -= SurChangementReseau;
protected override Task OnInitializedAsync() => ChargerAsync();
private async Task ChargerAsync() => _revues = await Api.ListerRevuesAsync();
}