#146 Erreur de rebase supprimées (lignes dupliquées. Ajout de AsNoTracking pour toutes les opérations de READ sur la bdd. Modification de la méthode Count().

This commit is contained in:
josephine.vetu
2026-04-01 15:26:20 +02:00
parent 2cc885d59c
commit 286397cb9e
8 changed files with 40 additions and 28 deletions

View File

@@ -34,10 +34,8 @@ public class LocalTitreRepository : ITitreRepository
/// <inheritdoc/>
public int Count()
{
var count = this.dataStore.Titres.Count(); // TODO une seule ligne, et attention car les deux méthodes s'appelent pareil,
// il faut faire attention à ne pas confondre avec la méthode Count() de l'interface ITitreRepository
return count;
// On appelle directement LINQ count pour ne pas confondre avec la méthode Count() de l'interface ITitreRepository
return Enumerable.Count(this.dataStore.Titres);
}
/// <inheritdoc/>
@@ -58,20 +56,40 @@ public class LocalTitreRepository : ITitreRepository
/// <inheritdoc/>
public void IncrementNbLectures(Titre titre)
{
titre.NbLectures++;
var stored = this.dataStore.Titres.FirstOrDefault(t => t.IdTitre == titre.IdTitre);
if (stored == null)
{
this.logger.LogWarning("Titre avec l'ID {Id} non trouvé pour incrémenter le nombre de lectures.", titre.IdTitre);
return;
}
stored.NbLectures++;
}
/// <inheritdoc/>
public void IncrementNbLikes(Titre titre)
{
titre.NbLikes++; // TODO rien n'est enregistré
var stored = this.dataStore.Titres.FirstOrDefault(t => t.IdTitre == titre.IdTitre);
if (stored == null)
{
this.logger.LogWarning("Titre avec l'ID {Id} non trouvé pour incrémenter le nombre de likes.", titre.IdTitre);
return;
}
stored.NbLikes++;
}
/// <inheritdoc/>
public IEnumerable<Titre> Search(string mot)
{
if (string.IsNullOrWhiteSpace(mot))
{
return Enumerable.Empty<Titre>();
}
return this.dataStore.Titres
.Where(t => t.Libelle != null && t.Libelle.Contains(mot)); // TODO attention au null, et à la casse, et à l'indexation pour les performances
.Where(t => t.Libelle.ToLower().Contains(mot.ToLower()))
.ToList();
}
/// <inheritdoc/>