From c07cdf7eaecbd7d65c470e423bbe7847c1f1342d Mon Sep 17 00:00:00 2001 From: franc Date: Wed, 16 Apr 2025 17:37:11 +0200 Subject: [PATCH] Move Method Body on Repositroy and inject Repository on Service --- .../ShoppingList/IShoppingListRepository.cs | 3 +++ .../ShoppingList/ShoppingListRepository.cs | 7 +++++++ .../Services/ShoppingList/ShoppingListService.cs | 16 ++++++++-------- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/Francesco.Recipes.World/Repositories/ShoppingList/IShoppingListRepository.cs b/Francesco.Recipes.World/Repositories/ShoppingList/IShoppingListRepository.cs index 90c35c0..b9ef9d4 100644 --- a/Francesco.Recipes.World/Repositories/ShoppingList/IShoppingListRepository.cs +++ b/Francesco.Recipes.World/Repositories/ShoppingList/IShoppingListRepository.cs @@ -17,5 +17,8 @@ Task DeleteShoppingListAsync(Guid shoppingListId); Task GetRecipeByNameAndImageAsync(string recipeName, string imageFileName); + + Task GetShoppingListRecipeCountAsync(Guid shoppingListId); + } } diff --git a/Francesco.Recipes.World/Repositories/ShoppingList/ShoppingListRepository.cs b/Francesco.Recipes.World/Repositories/ShoppingList/ShoppingListRepository.cs index 16d8934..2b23dea 100644 --- a/Francesco.Recipes.World/Repositories/ShoppingList/ShoppingListRepository.cs +++ b/Francesco.Recipes.World/Repositories/ShoppingList/ShoppingListRepository.cs @@ -167,5 +167,12 @@ .Include(r => r.MediaFiles.Where(mf => mf.FileName == imageFileName)) .FirstOrDefaultAsync(); } + + public async Task GetShoppingListRecipeCountAsync(Guid shoppingListId) + { + return await _context.RecipeShoppingLists + .Where(rsl => rsl.ShoppingList.Id == shoppingListId) + .CountAsync(); + } } } diff --git a/Francesco.Recipes.World/Services/ShoppingList/ShoppingListService.cs b/Francesco.Recipes.World/Services/ShoppingList/ShoppingListService.cs index 2428d90..ef4e37c 100644 --- a/Francesco.Recipes.World/Services/ShoppingList/ShoppingListService.cs +++ b/Francesco.Recipes.World/Services/ShoppingList/ShoppingListService.cs @@ -1,22 +1,22 @@ -using Francesco.Recipes.World.Data; -using Microsoft.EntityFrameworkCore; - -namespace Francesco.Recipes.World.Services.ShoppingList +namespace Francesco.Recipes.World.Services.ShoppingList { + using Francesco.Recipes.World.Data; + using Francesco.Recipes.World.Repositories.ShoppingList; + public class ShoppingListService { private readonly FrancescosRecipesWorldDbContext _context; + private readonly IShoppingListRepository _shoppingListRepository; - public ShoppingListService(FrancescosRecipesWorldDbContext context) + public ShoppingListService(FrancescosRecipesWorldDbContext context, IShoppingListRepository shoppingListRepository) { _context = context; + _shoppingListRepository = shoppingListRepository; } public async Task GetShoppingListRecipeCountAsync(Guid shoppingListId) { - return await _context.RecipeShoppingLists - .Where(rsl => rsl.ShoppingList.Id == shoppingListId) - .CountAsync(); + return await _shoppingListRepository.GetShoppingListRecipeCountAsync(shoppingListId); } } }