Implement endpoint to fetch shopping list details by ID including total recipe count

This commit is contained in:
Francesco Lorenzo D'Amico
2025-05-19 13:23:44 +02:00
parent 98dd9a049b
commit 9c9253c94a
@@ -5,6 +5,7 @@
using Francesco.Recipes.World.Repositories.ShoppingList;
using Microsoft.AspNetCore.Mvc;
[Route("ShoppingList")]
public class ShoppingListController : Controller
{
private readonly IShoppingListRepository _shoppingListRepository;
@@ -39,5 +40,33 @@
return Json(new { shoppingListId = shoppingList.Id });
}
[HttpGet("RecipeCount")]
public async Task<IActionResult> RecipeCount()
{
var count = await _shoppingListRepository.CountAllRecipeShoppinglistsAsync();
return Json(new { count });
}
// GET: /ShoppingList/Details/{id}
[HttpGet("Details/{id}")]
public async Task<IActionResult> Details(Guid id)
{
var shoppingList = await _shoppingListRepository.GetByIdAsync(id);
var recipeCount = await _shoppingListRepository.CountAllRecipeShoppinglistsAsync();
if (shoppingList == null)
{
return NotFound();
}
var viewModel = new ShoppingListDetailsViewModel
{
ShoppingList = shoppingList,
RecipeCount = recipeCount,
};
return View(viewModel);
}
}
}