using API.Models.RecipeModels; using API.Models.ShoppingListModels; using API.Models.UserModels; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; namespace API.DBAccess { public class ShoppingListDBAccess { private readonly DBContext _context; public ShoppingListDBAccess(DBContext context) { _context = context; } // Read the shoppinglist connected to the user public async Task ReadShoppingList(int userId) { var user = await _context.Users.Include(u => u.ShoppingList).FirstOrDefaultAsync(u => u.Id == userId); return user; } // Updates the shoppinglist public async Task UpdateShoppingList(User user) { _context.Entry(user).State = EntityState.Modified; bool saved = await _context.SaveChangesAsync() >= 1; if (saved) { return new OkObjectResult(true); } return new ConflictObjectResult(new { message = "Could not save to database" }); } // Adds an item to the shoppinglist public async Task AddItemToShoppingList(User user) { _context.Entry(user).State = EntityState.Modified; bool saved = await _context.SaveChangesAsync() >= 1; if (saved) { return true; } return false; } } }