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>
40 lines
1.6 KiB
C#
40 lines
1.6 KiB
C#
namespace MaBibli.Shared.Entites;
|
|
|
|
/// <summary>
|
|
/// Statut de lecture d'un livre <b>pour une personne donnée</b>.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Décision actée dans CLAUDE.md : le livre est commun au foyer, sa lecture est personnelle.
|
|
/// Deux membres lisent le même exemplaire à des rythmes différents, et une colonne <c>Statut</c>
|
|
/// sur <see cref="Livre"/> les forcerait à partager un état unique — ce qui était le cas avant
|
|
/// cette refonte.
|
|
/// <para>
|
|
/// <b>Absence de ligne = non commencé.</b> On n'écrit rien à la création d'un livre : sur une
|
|
/// bibliothèque de foyer, la plupart des couples (livre, personne) n'ont aucun statut, et les
|
|
/// matérialiser tous multiplierait les lignes par le nombre de comptes pour n'exprimer qu'un vide.
|
|
/// </para>
|
|
/// <para>
|
|
/// Cette table est le patron de tout ce qui sera personnel plus tard — la liste d'envies évoquée
|
|
/// dans CLAUDE.md s'ajoutera de la même façon, sans toucher à <see cref="Livre"/>.
|
|
/// </para>
|
|
/// </remarks>
|
|
public class StatutLecture
|
|
{
|
|
public int Id { get; set; }
|
|
|
|
public int LivreId { get; set; }
|
|
|
|
public Livre? Livre { get; set; }
|
|
|
|
/// <summary>
|
|
/// <c>YNH_USER</c> de la personne concernée. Contrairement à <see cref="Livre.AjoutePar"/>,
|
|
/// ce champ <b>est</b> une frontière : on ne lit jamais le statut de quelqu'un d'autre.
|
|
/// </summary>
|
|
public string Utilisateur { get; set; } = string.Empty;
|
|
|
|
public Statut Statut { get; set; }
|
|
|
|
/// <summary>Dernière modification du statut, utile pour un futur « repris le… ».</summary>
|
|
public DateTime DateMaj { get; set; }
|
|
}
|