namespace MaBibli.Shared.Dtos; /// /// Une revue et les numéros qu'on en possède. /// /// /// Comme pour les séries, une seule lecture rend tout : la liste des revues sert aussi /// le détail de chacune, ce qui donne un unique instantané hors-ligne à tenir à jour. /// public record RevueDto { public required int Id { get; init; } public required string Titre { get; init; } /// ISSN à tiret, quand il est connu. Identifiant de la revue, jamais un ISBN. public string? Issn { get; init; } public string? Editeur { get; init; } public string? AjoutePar { get; init; } /// Numéros possédés, du plus récent au plus ancien. public IReadOnlyList Numeros { get; init; } = []; } /// Un numéro possédé. Recensé seulement : ni prêt, ni statut de lecture. public record NumeroRevueDto { public required int Id { get; init; } public required string Numero { get; init; } public DateTime? DateParution { get; init; } public string? Note { get; init; } } /// Charge utile de création ou de modification d'une revue. public record EnregistrementRevue { public string Titre { get; set; } = string.Empty; public string? Issn { get; set; } public string? Editeur { get; set; } } /// Charge utile d'ajout d'un numéro. public record AjoutNumeroRevue { /// Obligatoire : deux numéros sans numéro seraient indiscernables. public string Numero { get; set; } = string.Empty; public DateTime? DateParution { get; set; } public string? Note { get; set; } }