#175 Correction des repository : First remplacé par FirstOrDefault. Ajout de la documentation manquante. Les return Model() vides sont supprimés. La gestion d'erreurs est optimisée.
This commit is contained in:
@@ -10,22 +10,21 @@ namespace Webzine.Repository
|
||||
using Webzine.Repository.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// Initialise une classe <see cref="LocalArtisteRepository"/> qui implémente l'interface <see cref="IArtisteRepository"/> pour gérer les opérations de base de données liées aux artistes.
|
||||
/// Utilise <see cref="IArtisteRepository"/> en injection de dépendances. // TODO faux.
|
||||
/// Initialise une classe <see cref="LocalArtisteRepository"/> qui implémente l'interface <see cref="IArtisteRepository"/>.
|
||||
/// Gère les opérations liées aux artistes en utilisant une source de données locale (en mémoire).
|
||||
/// </summary>
|
||||
public class LocalArtisteRepository : IArtisteRepository
|
||||
{
|
||||
private readonly ILogger<LocalArtisteRepository> logger;
|
||||
|
||||
// private readonly List<Artiste> artistes; // TODO code mort
|
||||
private readonly InMemoryDataStore dataStore;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="LocalArtisteRepository"/> class.
|
||||
/// Est liéee à une liste d'artistes en local et utilise un logger pour enregistrer les opérations effectuées sur les artistes.
|
||||
/// </summary>
|
||||
/// <param name="artistes">La liste des artistes à initialiser. Ne peut pas être null.</param> // TODO pas le bon paramètre
|
||||
/// <param name="logger">Le logger à utiliser pour enregistrer les messages de journalisation. Ne peut pas être null.</param>
|
||||
/// <param name="dataStore">Le magasin de données en mémoire.</param>
|
||||
public LocalArtisteRepository(InMemoryDataStore dataStore, ILogger<LocalArtisteRepository> logger)
|
||||
{
|
||||
this.logger = logger;
|
||||
@@ -49,11 +48,7 @@ namespace Webzine.Repository
|
||||
/// <inheritdoc/>
|
||||
public Artiste Find(int id)
|
||||
{
|
||||
var artiste = this.dataStore.Artistes.First(a => a.IdArtiste == id);
|
||||
if (artiste == null)
|
||||
{
|
||||
return new Artiste(); // TODO ne pas retourner un objet vide, FirstOrDefault et gérer le null dans le controller
|
||||
}
|
||||
var artiste = this.dataStore.Artistes.SingleOrDefault(a => a.IdArtiste == id);
|
||||
|
||||
return artiste;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user