Files
mabibli/MaBibli.Client/Composants/Libelles.cs
T
mathieuandClaude Opus 5 49eb8e1c98 Distinguer romans et BD par un type de document
Format disait physique ou numérique, jamais roman ou BD. Trois valeurs
seulement : une valeur s'ajoute sans migration, la renommer une fois posée
sur des centaines de fiches, non.

Le défaut est « non précisé », pas « roman » : les fiches existantes n'ont
pas été saisies avec cette question en tête, et un AddColumn suffit
justement parce que la valeur par défaut ne prétend rien. L'interface
n'affiche donc que ce qui a été choisi, comme pour le format.

Filtre ajouté aux DEUX implémentations, serveur et hors-ligne, avec quatre
jeux de critères de plus dans le test qui les confronte.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-19 21:45:37 +02:00

45 lines
1.7 KiB
C#

using MaBibli.Shared.Entites;
namespace MaBibli.Client.Composants;
/// <summary>Libellés français des énumérations, au même endroit pour toute l'interface.</summary>
public static class Libelles
{
public static string Format(Format format) => format switch
{
MaBibli.Shared.Entites.Format.Physique => "Physique",
MaBibli.Shared.Entites.Format.Numerique => "Numérique",
_ => format.ToString(),
};
/// <summary>
/// Libellé du type de document. <b>« Non précisé » ne s'affiche pas sur une fiche</b> :
/// c'est l'absence de choix, et l'interface ne montre que ce qui a été choisi. Le libellé
/// existe pour les boutons de saisie et de filtre, où il faut bien nommer l'option.
/// </summary>
public static string TypeDocument(TypeDocument type) => type switch
{
MaBibli.Shared.Entites.TypeDocument.NonPrecise => "Non précisé",
MaBibli.Shared.Entites.TypeDocument.Roman => "Roman",
MaBibli.Shared.Entites.TypeDocument.BandeDessinee => "BD",
_ => type.ToString(),
};
public static string Statut(Statut statut) => statut switch
{
MaBibli.Shared.Entites.Statut.ALire => "À lire",
MaBibli.Shared.Entites.Statut.EnCours => "En cours",
MaBibli.Shared.Entites.Statut.Lu => "Lu",
_ => statut.ToString(),
};
/// <summary>Classe CSS associée au statut, pour la pastille de couleur.</summary>
public static string ClasseStatut(Statut statut) => statut switch
{
MaBibli.Shared.Entites.Statut.ALire => "statut-a-lire",
MaBibli.Shared.Entites.Statut.EnCours => "statut-en-cours",
MaBibli.Shared.Entites.Statut.Lu => "statut-lu",
_ => string.Empty,
};
}