ChangeFavorit to Favorite and change some method logic

This commit is contained in:
Francesco Lorenzo D'Amico
2025-06-03 09:19:44 +02:00
parent 0f274613de
commit 3ae229b4f3
@@ -17,7 +17,7 @@
{ {
return await _context.Recipes return await _context.Recipes
.Where(r => r.IsFavorite) .Where(r => r.IsFavorite)
.Include(r => r.Favorit) .Include(r => r.Favorite)
.Include(r => r.MediaFiles) .Include(r => r.MediaFiles)
.ToListAsync(); .ToListAsync();
} }
@@ -31,28 +31,31 @@
public async Task AddFavoriteAsync(Guid recipeId) public async Task AddFavoriteAsync(Guid recipeId)
{ {
var recipe = await _context.Recipes var recipe = await _context.Recipes
.Include(r => r.Favorit) .Include(r => r.Favorite)
.FirstOrDefaultAsync(r => r.Id == recipeId); .FirstOrDefaultAsync(r => r.Id == recipeId);
if (recipe != null && !recipe.IsFavorite) if (recipe == null)
{ {
recipe.IsFavorite = true; throw new InvalidOperationException("Recipe not found.");
if (recipe.Favorit == null || recipe.Favorit.Id == Guid.Empty)
{
recipe.Favorit = new Models.BackendModels.Favorit.Favorit
{
Id = Guid.NewGuid(),
CreatedAt = DateTime.Now,
};
}
else
{
recipe.Favorit.CreatedAt = DateTime.Now;
}
await _context.SaveChangesAsync();
} }
if (recipe.IsFavorite)
{
throw new InvalidOperationException("Recipe is already a favorite.");
}
recipe.IsFavorite = true;
if (recipe.Favorite == null || recipe.Favorite.Id == Guid.Empty)
{
recipe.Favorite = new Models.BackendModels.Favorit.Favorit
{
Id = Guid.NewGuid(),
CreatedAt = DateTime.Now,
};
}
await _context.SaveChangesAsync();
} }
public async Task RemoveFavoriteAsync(Guid recipeId) public async Task RemoveFavoriteAsync(Guid recipeId)