From bb049e674a2cb7ea41eddf82dea6a5b91400f2f1 Mon Sep 17 00:00:00 2001 From: Francesco Lorenzo D'Amico Date: Mon, 2 Jun 2025 08:59:35 +0200 Subject: [PATCH] Make an Endpoint for sort favorit to newsest and oldest --- .../Controller/Favorite/FavoriteController.cs | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 Francesco.Recipes.World/Controller/Favorite/FavoriteController.cs diff --git a/Francesco.Recipes.World/Controller/Favorite/FavoriteController.cs b/Francesco.Recipes.World/Controller/Favorite/FavoriteController.cs new file mode 100644 index 0000000..0198842 --- /dev/null +++ b/Francesco.Recipes.World/Controller/Favorite/FavoriteController.cs @@ -0,0 +1,34 @@ +namespace Francesco.Recipes.World.Controller.Favorite +{ + using Francesco.Recipes.World.Models; + using Francesco.Recipes.World.Repositories.Favorit; + using Microsoft.AspNetCore.Mvc; + + [Route("Favorite")] + public class FavoriteController : Controller + { + private readonly IFavoriteRepository _favoriteRepository; + + public FavoriteController(IFavoriteRepository favoriteRepository) + { + _favoriteRepository = favoriteRepository; + } + + public async Task Index(string sortOrder = "newest") + { + var favoriteRecipes = await _favoriteRepository.GetFavoriteRecipesAsync(); + + var sortedRecipes = sortOrder == "oldest" + ? favoriteRecipes.OrderBy(r => r.Favorit.CreatedAt) + : favoriteRecipes.OrderByDescending(r => r.Favorit.CreatedAt); + + var viewModel = new FavoriteViewModel + { + FavoriteRecipes = sortedRecipes, + SortOrder = sortOrder, + }; + + return View(viewModel); + } + } +}