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>
45 lines
1.7 KiB
C#
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,
|
|
};
|
|
}
|