From 1fcf1a1c26845c25e053147f388c6ed3dd8b3028 Mon Sep 17 00:00:00 2001 From: Francesco D'Amico Date: Tue, 1 Apr 2025 17:02:47 +0200 Subject: [PATCH] FilterByDifficulty testing --- .../Controller/Recipe/RecipeController.cs | 16 ++++------------ .../Models/BackendModels/Recipe/Difficulty.cs | 10 +++++----- .../Repositories/Recipe/IRecipeRepository.cs | 2 +- .../Repositories/Recipe/RecipeRepository.cs | 2 +- .../Views/Recipe/FilterByDifficulty.cshtml | 16 +++++++++++----- 5 files changed, 22 insertions(+), 24 deletions(-) diff --git a/Francesco.Recipes.World/Controller/Recipe/RecipeController.cs b/Francesco.Recipes.World/Controller/Recipe/RecipeController.cs index 5b21475..9b4cd9e 100644 --- a/Francesco.Recipes.World/Controller/Recipe/RecipeController.cs +++ b/Francesco.Recipes.World/Controller/Recipe/RecipeController.cs @@ -5,7 +5,6 @@ using Francesco.Recipes.World.Repositories.Ingredient; using Francesco.Recipes.World.Repositories.Recipe; using Francesco.Recipes.World.Repositories.Unit; - using Francesco.Recipes.World.Views.Recipe; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Rendering; @@ -25,6 +24,8 @@ _ingredientRepository = ingredientRepository; } + public IReadOnlyCollection Recipes { get; set; } + // GET: /Recipe/AddOrCreateIngredient [HttpGet("{recipeId}/AddOrCreateIngredient")] public async Task AddOrCreateIngredient() @@ -140,17 +141,8 @@ [HttpGet("FilterByDifficulty")] public async Task FilterByDifficulty(Difficulty? difficulty) { - var viewModel = new FilterByDifficultyViewModel - { - SelectedDifficulty = difficulty, - }; - - if (difficulty.HasValue) - { - viewModel.Recipes = (await _recipeRepository.GetRecipesByDifficultyAsync(difficulty.Value)).ToList(); - } - - return View(viewModel); + Recipes = await _recipeRepository.GetRecipesByDifficultyAsync(difficulty); + return View(Recipes); } } } diff --git a/Francesco.Recipes.World/Models/BackendModels/Recipe/Difficulty.cs b/Francesco.Recipes.World/Models/BackendModels/Recipe/Difficulty.cs index 4456670..ee81fd2 100644 --- a/Francesco.Recipes.World/Models/BackendModels/Recipe/Difficulty.cs +++ b/Francesco.Recipes.World/Models/BackendModels/Recipe/Difficulty.cs @@ -2,14 +2,14 @@ { public enum Difficulty { - VeryEasy = 1, + VeryEasy = 0, - Easy = 2, + Easy = 1, - Medium = 3, + Medium = 2, - Hard = 4, + Hard = 3, - Expert = 5, + Expert = 4, } } diff --git a/Francesco.Recipes.World/Repositories/Recipe/IRecipeRepository.cs b/Francesco.Recipes.World/Repositories/Recipe/IRecipeRepository.cs index 43a652d..bc6ae01 100644 --- a/Francesco.Recipes.World/Repositories/Recipe/IRecipeRepository.cs +++ b/Francesco.Recipes.World/Repositories/Recipe/IRecipeRepository.cs @@ -14,7 +14,7 @@ Task> GetRecipesByNameOrIngredientAsync(string name, string ingredient); - Task> GetRecipesByDifficultyAsync(Difficulty difficulty); + Task> GetRecipesByDifficultyAsync(Difficulty? difficulty); Task AddUnitToRecipeAsync(string name, string symbol); diff --git a/Francesco.Recipes.World/Repositories/Recipe/RecipeRepository.cs b/Francesco.Recipes.World/Repositories/Recipe/RecipeRepository.cs index 300c467..7b2c780 100644 --- a/Francesco.Recipes.World/Repositories/Recipe/RecipeRepository.cs +++ b/Francesco.Recipes.World/Repositories/Recipe/RecipeRepository.cs @@ -160,7 +160,7 @@ return await query.ToListAsync(); } - public async Task> GetRecipesByDifficultyAsync(Difficulty difficulty) + public async Task> GetRecipesByDifficultyAsync(Difficulty? difficulty) { return await _context.Recipes .Where(r => r.Difficulty == difficulty) diff --git a/Francesco.Recipes.World/Views/Recipe/FilterByDifficulty.cshtml b/Francesco.Recipes.World/Views/Recipe/FilterByDifficulty.cshtml index 6b9ff3b..01a77cb 100644 --- a/Francesco.Recipes.World/Views/Recipe/FilterByDifficulty.cshtml +++ b/Francesco.Recipes.World/Views/Recipe/FilterByDifficulty.cshtml @@ -7,13 +7,14 @@

Filter Recipes by Difficulty

-
+
- +
-
@if (Model.Recipes != null && Model.Recipes.Any()) @@ -22,7 +23,7 @@
    @foreach (var recipe in Model.Recipes) { -
  • @recipe.Name - @recipe.Difficulty
  • +
  • @recipe.Name - @recipe.Difficulty.
  • }
} @@ -32,5 +33,10 @@ else } @section Scripts { + @await Html.PartialAsync("_ValidationScriptsPartial") - } +}