diff --git a/Francesco.Recipes.World/Francesco.Recipes.World.csproj b/Francesco.Recipes.World/Francesco.Recipes.World.csproj
index 7d430a2..84f6487 100644
--- a/Francesco.Recipes.World/Francesco.Recipes.World.csproj
+++ b/Francesco.Recipes.World/Francesco.Recipes.World.csproj
@@ -49,8 +49,6 @@
-
-
diff --git a/Francesco.Recipes.World/Services/ShoppingList/IShoppingListService.cs b/Francesco.Recipes.World/Services/ShoppingList/IShoppingListService.cs
new file mode 100644
index 0000000..702c426
--- /dev/null
+++ b/Francesco.Recipes.World/Services/ShoppingList/IShoppingListService.cs
@@ -0,0 +1,7 @@
+namespace Francesco.Recipes.World.Services.ShoppingList
+{
+ public interface IShoppingListService
+ {
+ Task GetShoppingListRecipeCountAsync(Guid shoppingListId);
+ }
+}
diff --git a/Francesco.Recipes.World/Services/ShoppingList/ShoppingListService.cs b/Francesco.Recipes.World/Services/ShoppingList/ShoppingListService.cs
new file mode 100644
index 0000000..2428d90
--- /dev/null
+++ b/Francesco.Recipes.World/Services/ShoppingList/ShoppingListService.cs
@@ -0,0 +1,22 @@
+using Francesco.Recipes.World.Data;
+using Microsoft.EntityFrameworkCore;
+
+namespace Francesco.Recipes.World.Services.ShoppingList
+{
+ public class ShoppingListService
+ {
+ private readonly FrancescosRecipesWorldDbContext _context;
+
+ public ShoppingListService(FrancescosRecipesWorldDbContext context)
+ {
+ _context = context;
+ }
+
+ public async Task GetShoppingListRecipeCountAsync(Guid shoppingListId)
+ {
+ return await _context.RecipeShoppingLists
+ .Where(rsl => rsl.ShoppingList.Id == shoppingListId)
+ .CountAsync();
+ }
+ }
+}