using Microsoft.EntityFrameworkCore; using pet_companion_api.Data; using pet_companion_api.Models; namespace pet_companion_api.Repositories { public class PetRepository { private readonly ApplicationDbContext _context; public PetRepository(ApplicationDbContext context) { _context = context; } public IEnumerable GetPetsByUserId(string userId) { return _context.Pets .Where(p => p.UserId == userId) .Include(p => p.Stats) .Include(p => p.Resources) .ToList(); } public Pet GetPetById(string petId, string userId) { return _context.Pets .FirstOrDefault(p => p.Id == petId && p.UserId == userId); } public Pet CreatePet(Pet pet) { _context.Pets.Add(pet); _context.SaveChanges(); return pet; } public Pet UpdatePet(Pet pet) { _context.Pets.Update(pet); _context.SaveChanges(); return pet; } public Pet UpdatePetAction(Pet pet) { _context.Pets.Attach(pet); _context.Entry(pet).Property(p => p.PetAction).IsModified = true; _context.Entry(pet).Property(p => p.ActionSince).IsModified = true; _context.SaveChanges(); return pet; } } }