Files
mabibli/MaBibli.Shared/Entites/StatutLecture.cs
T
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

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; }
}