#146 Les méthodes Find(id) des repository utilisent SingleOrDefault. Les méthodes find du repository sont utilisées dans les méthodes update au lieu de refaire une requête. Paginate est remplacé par Find[Model] pour correspondre au cahier des charges.
This commit is contained in:
@@ -96,7 +96,7 @@ public class LocalTitreRepository : ITitreRepository
|
||||
public Titre Find(int idTitre)
|
||||
{
|
||||
return this.dataStore.Titres
|
||||
.FirstOrDefault(t => t.IdTitre == idTitre);
|
||||
.SingleOrDefault(t => t.IdTitre == idTitre);
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
@@ -115,18 +115,20 @@ public class LocalTitreRepository : ITitreRepository
|
||||
/// <inheritdoc/>
|
||||
public void Update(Titre titre)
|
||||
{
|
||||
var stored = this.dataStore.Titres.FirstOrDefault(t => t.IdTitre == titre.IdTitre);
|
||||
if (stored == null)
|
||||
// On trouve le titre stocké pour mettre à jour ses propriétés avec la méthode Find du repository
|
||||
// pour éviter la duplication de code.
|
||||
Titre existingTitre = this.Find(titre.IdTitre);
|
||||
if (existingTitre == null)
|
||||
{
|
||||
this.logger.LogWarning("Titre avec l'ID {Id} non trouvé pour mise à jour.", titre.IdTitre);
|
||||
return;
|
||||
}
|
||||
|
||||
stored.Libelle = titre.Libelle;
|
||||
stored.DateCreation = titre.DateCreation;
|
||||
stored.NbLectures = titre.NbLectures;
|
||||
stored.NbLikes = titre.NbLikes;
|
||||
stored.IdArtiste = titre.IdArtiste;
|
||||
stored.Styles = titre.Styles;
|
||||
existingTitre.Libelle = titre.Libelle;
|
||||
existingTitre.DateCreation = titre.DateCreation;
|
||||
existingTitre.NbLectures = titre.NbLectures;
|
||||
existingTitre.NbLikes = titre.NbLikes;
|
||||
existingTitre.IdArtiste = titre.IdArtiste;
|
||||
existingTitre.Styles = titre.Styles;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user