From 16a9d1084452e8546ad6e778649c452d39a66798 Mon Sep 17 00:00:00 2001 From: franc Date: Tue, 22 Apr 2025 14:49:29 +0200 Subject: [PATCH] Return PartialView instead an Redirection --- .../Controller/Recipe/RecipeController.cs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/Francesco.Recipes.World/Controller/Recipe/RecipeController.cs b/Francesco.Recipes.World/Controller/Recipe/RecipeController.cs index b86ef61..d78e31a 100644 --- a/Francesco.Recipes.World/Controller/Recipe/RecipeController.cs +++ b/Francesco.Recipes.World/Controller/Recipe/RecipeController.cs @@ -13,6 +13,8 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Rendering; + [Route("Recipe")] + public class RecipeController : Controller { private readonly IRecipeRepository _recipeRepository; @@ -248,7 +250,13 @@ public async Task AddFavorite(Guid recipeId) { await _favoriteRepository.AddFavoriteAsync(recipeId); - return RedirectToAction("Details", new { recipeId }); + var recipe = await _recipeRepository.GetRecipeByIdAsync(recipeId); + if (recipe == null) + { + return NotFound("Recipe not found."); + } + + return PartialView("_FavoriteButton", recipe); } // POST: /Recipe/RemoveFavorite @@ -257,7 +265,13 @@ public async Task RemoveFavorite(Guid recipeId) { await _favoriteRepository.RemoveFavoriteAsync(recipeId); - return RedirectToAction("Details", new { recipeId }); + var recipe = await _recipeRepository.GetRecipeByIdAsync(recipeId); + if (recipe == null) + { + return NotFound("Recipe not found."); + } + + return PartialView("_FavoriteButton", recipe); } } }