Make a Method to avoid reduntant code and add a similar method as Getting one Shoppinglist but this time gets All Shoppinglists
This commit is contained in:
@@ -21,5 +21,7 @@
|
|||||||
Task<ShoppingList?> GetByIdAsync(Guid shoppingListId);
|
Task<ShoppingList?> GetByIdAsync(Guid shoppingListId);
|
||||||
|
|
||||||
Task<int> CountAllRecipeShoppinglistsAsync();
|
Task<int> CountAllRecipeShoppinglistsAsync();
|
||||||
|
|
||||||
|
Task<IList<ShoppingList>> GetAllShoppingListsAsync();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -111,20 +111,17 @@
|
|||||||
|
|
||||||
public async Task<ShoppingList?> GetByIdAsync(Guid shoppingListId)
|
public async Task<ShoppingList?> GetByIdAsync(Guid shoppingListId)
|
||||||
{
|
{
|
||||||
return await _context.ShoppingLists
|
return await GetShoppingListQuery()
|
||||||
.Include(sl => sl.RecipeShoppingList)
|
|
||||||
.ThenInclude(rsl => rsl.Recipe)
|
|
||||||
.Include(sl => sl.RecipeShoppingList)
|
|
||||||
.ThenInclude(rsl => rsl.SelectedIngredients)
|
|
||||||
.ThenInclude(si => si.RecipeIngredient)
|
|
||||||
.ThenInclude(ri => ri.Ingredient)
|
|
||||||
.Include(sl => sl.RecipeShoppingList)
|
|
||||||
.ThenInclude(rsl => rsl.SelectedIngredients)
|
|
||||||
.ThenInclude(si => si.RecipeIngredient)
|
|
||||||
.ThenInclude(ri => ri.Unit)
|
|
||||||
.FirstOrDefaultAsync(sl => sl.Id == shoppingListId);
|
.FirstOrDefaultAsync(sl => sl.Id == shoppingListId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<IList<ShoppingList>> GetAllShoppingListsAsync()
|
||||||
|
{
|
||||||
|
return await GetShoppingListQuery()
|
||||||
|
.OrderByDescending(sl => sl.CreatedAt)
|
||||||
|
.ToListAsync();
|
||||||
|
}
|
||||||
|
|
||||||
public async Task<IEnumerable<RecipeIngredientShoppingList>> GetIngredientsOfRecipeInListAsync(Guid shoppingListRecipeId)
|
public async Task<IEnumerable<RecipeIngredientShoppingList>> GetIngredientsOfRecipeInListAsync(Guid shoppingListRecipeId)
|
||||||
{
|
{
|
||||||
return await _context.RecipeIngredientsShoppingLists
|
return await _context.RecipeIngredientsShoppingLists
|
||||||
@@ -189,5 +186,21 @@
|
|||||||
return await _context.RecipeShoppingLists
|
return await _context.RecipeShoppingLists
|
||||||
.CountAsync();
|
.CountAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private IQueryable<ShoppingList> GetShoppingListQuery()
|
||||||
|
{
|
||||||
|
return _context.ShoppingLists
|
||||||
|
.Include(sl => sl.RecipeShoppingList)
|
||||||
|
.ThenInclude(rsl => rsl.Recipe)
|
||||||
|
.ThenInclude(r => r.MediaFiles)
|
||||||
|
.Include(sl => sl.RecipeShoppingList)
|
||||||
|
.ThenInclude(rsl => rsl.SelectedIngredients)
|
||||||
|
.ThenInclude(si => si.RecipeIngredient)
|
||||||
|
.ThenInclude(ri => ri.Ingredient)
|
||||||
|
.Include(sl => sl.RecipeShoppingList)
|
||||||
|
.ThenInclude(rsl => rsl.SelectedIngredients)
|
||||||
|
.ThenInclude(si => si.RecipeIngredient)
|
||||||
|
.ThenInclude(ri => ri.Unit);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user