From bf4b12997c6f5c29d63bf0d8df76bb32e3e0fc6b Mon Sep 17 00:00:00 2001 From: Loic Masi Date: Tue, 31 Mar 2026 16:48:40 +0200 Subject: [PATCH] =?UTF-8?q?#162=20:=20Patch=20bug=20lors=20de=20retour=20s?= =?UTF-8?q?ur=20une=20page=20"Delete"=20apr=C3=A8s=20la=20suppression=20d'?= =?UTF-8?q?un=20=C3=A9l=C3=A9ment.=20Redirection=20sur=20la=20page=20"Inde?= =?UTF-8?q?x"=20en=20cas=20de=20retour=20en=20arri=C3=A8re=20de=20la=20par?= =?UTF-8?q?t=20d'un=20utilisateur.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Webzine.Repository/DbArtisteRepository.cs | 4 ++-- Webzine.Repository/DbTitreRepository.cs | 2 -- .../Areas/Administration/Controllers/ArtisteController.cs | 6 ++++++ .../Administration/Controllers/CommentaireController.cs | 5 +++++ .../Areas/Administration/Controllers/TitreController.cs | 5 +++++ 5 files changed, 18 insertions(+), 4 deletions(-) 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,