diff --git a/Webzine.Repository/DbArtisteRepository.cs b/Webzine.Repository/DbArtisteRepository.cs index fa6ff18..c27c1d7 100644 --- a/Webzine.Repository/DbArtisteRepository.cs +++ b/Webzine.Repository/DbArtisteRepository.cs @@ -83,8 +83,8 @@ namespace Webzine.Repository try { Artiste artiste = this.context.Artistes - .Include(a => a.Titres) - .First(a => a.IdArtiste == id); + .Include(a => a.Titres) + .FirstOrDefault(a => a.IdArtiste == id); return artiste; } catch (Exception ex) diff --git a/Webzine.Repository/DbTitreRepository.cs b/Webzine.Repository/DbTitreRepository.cs index 6dcbe21..ab362b9 100644 --- a/Webzine.Repository/DbTitreRepository.cs +++ b/Webzine.Repository/DbTitreRepository.cs @@ -262,7 +262,6 @@ public class DbTitreRepository : ITitreRepository try { this.logger.LogDebug("Recherche du titre avec l'ID: {IdTitre}", idTitre); - this.logger.LogDebug("Préparation de la requête avec les inclusions Artiste, Styles et Commentaires"); var titre = this.context.Titres .Include(t => t.Artiste) @@ -270,7 +269,6 @@ public class DbTitreRepository : ITitreRepository .Include(t => t.Commentaires) .FirstOrDefault(t => t.IdTitre == idTitre); - this.logger.LogDebug("Titre trouvé: {Libelle}", titre.Libelle); return titre; } catch (InvalidOperationException ex) diff --git a/Webzine.WebApplication/Areas/Administration/Controllers/ArtisteController.cs b/Webzine.WebApplication/Areas/Administration/Controllers/ArtisteController.cs index fcaf920..7df257a 100644 --- a/Webzine.WebApplication/Areas/Administration/Controllers/ArtisteController.cs +++ b/Webzine.WebApplication/Areas/Administration/Controllers/ArtisteController.cs @@ -87,6 +87,12 @@ public class ArtisteController : Controller public IActionResult Delete(int id) { var artiste = this.artisteRepository.Find(id); + + if (artiste == null) + { + return this.RedirectToAction("Index"); + } + var model = new AdminArtisteForm { Id = id, diff --git a/Webzine.WebApplication/Areas/Administration/Controllers/CommentaireController.cs b/Webzine.WebApplication/Areas/Administration/Controllers/CommentaireController.cs index c60e9bd..b954e14 100644 --- a/Webzine.WebApplication/Areas/Administration/Controllers/CommentaireController.cs +++ b/Webzine.WebApplication/Areas/Administration/Controllers/CommentaireController.cs @@ -53,6 +53,11 @@ namespace Webzine.WebApplication.Areas.Administration.Controllers { var commentaire = this.commentaireRepository.Find(id); + if (commentaire == null) + { + return this.RedirectToAction("Index"); + } + var model = new CommentaireDeleteViewModel { IdCommentaire = commentaire.IdCommentaire, diff --git a/Webzine.WebApplication/Areas/Administration/Controllers/TitreController.cs b/Webzine.WebApplication/Areas/Administration/Controllers/TitreController.cs index f703fec..cab47aa 100644 --- a/Webzine.WebApplication/Areas/Administration/Controllers/TitreController.cs +++ b/Webzine.WebApplication/Areas/Administration/Controllers/TitreController.cs @@ -130,6 +130,11 @@ public class TitreController : Controller { var titre = this.titreRepository.Find(id); + if (titre == null) + { + return this.RedirectToAction("Index"); + } + var model = new AdminTitreDelete { Id = titre.IdTitre,