Files
Mathieu LimonierandClaude Opus 5 6a6d745af4 MaBibli 1.0.0
Gestion de bibliothèque personnelle auto-hébergée : catalogue, prêts,
scan de code-barres, consultation hors-ligne.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 22:36:16 +02:00

36 lines
1.6 KiB
C#

namespace MaBibli.Shared.Dtos;
/// <summary>
/// Ce qu'on sait d'un code-barres qui s'est révélé être celui d'un <b>périodique</b>
/// (préfixe <c>977</c>) et non d'un livre.
/// </summary>
/// <remarks>
/// Cet objet <b>décrit un code-barres</b>, il ne catalogue rien : il dit à l'utilisateur ce
/// qu'il vient de scanner au lieu de lui répondre « aucun résultat » — ce qui l'enverrait
/// chercher un défaut là où il n'y en a pas.
/// <para>
/// Depuis le 2026-08-19, les revues ont leur modèle (<see cref="Entites.Revue"/>) : l'écran
/// enchaîne donc sur la fiche de la revue, où s'ajoute le numéro scanné. ⚠️ Le <b>numéro</b> ne
/// figure pas ici : les deux chiffres de parution du code-barres ne sont pas fiables, et
/// l'add-on EAN-2 qui le porterait vraiment n'a pas été vérifié sur un magazine réel.
/// </para>
/// </remarks>
public record PeriodiqueDetecte
{
/// <summary>ISSN déduit du code-barres, forme canonique à tiret (<c>2466-6718</c>).</summary>
public required string Issn { get; init; }
/// <summary>
/// Titre de la revue d'après la BnF, ou <c>null</c> si elle ne connaît pas cet ISSN
/// ou n'a pas répondu. Le distinguer d'un titre trouvé est ce qui permet de ne pas
/// affirmer un nom qu'on n'a pas.
/// </summary>
public string? Titre { get; init; }
/// <summary>Éditeur de la revue, quand la notice en porte un.</summary>
public string? Editeur { get; init; }
/// <summary>Année de début de publication de la revue (et non du numéro scanné).</summary>
public string? Annee { get; init; }
}