namespace MaBibli.Shared.Dtos;

/// <summary>
/// Livres déjà catalogués qui ressemblent à celui qu'on est en train d'ajouter.
/// </summary>
/// <remarks>
/// <b>C'est un avertissement, jamais un refus.</b> Posséder deux exemplaires du même livre est
/// parfaitement légitime — on garde le sien et on prête l'autre — et l'ISBN est facultatif, donc
/// il ne peut pas servir de clé unique. Un index unique en base interdirait le second exemplaire
/// au lieu de rendre service ; ici l'utilisateur voit ce qu'il a déjà, et tranche.
/// <para>
/// Le rapprochement est <b>faillible dans les deux sens</b> : il rate une réédition retitrée
/// (<see cref="Textes.CleOeuvre"/>) et il signale le poche à côté du grand format, qui sont deux
/// exemplaires bien distincts. C'est exactement pourquoi la décision revient à l'utilisateur.
/// </para>
/// </remarks>
public record DoublonsLivre
{
    /// <summary>Phrase destinée à l'utilisateur, nommant ce qu'il possède déjà.</summary>
    public string Message { get; set; } = string.Empty;

    /// <summary>Les fiches en cause, pour que l'écran les montre plutôt que de les décrire.</summary>
    public List<LivreDto> Livres { get; set; } = [];
}
