Refactor pet action management: rename PetAction to PetActionGather, update related models and services, and enhance resource gathering logic.

This commit is contained in:
2025-02-01 13:50:39 -03:00
parent e1c5eed02d
commit d6d3dc9f44
11 changed files with 350 additions and 29 deletions

View File

@@ -6,16 +6,16 @@ namespace pet_companion_api.Repositories
{
public class PetRepository
{
private readonly ApplicationDbContext _context;
private readonly ApplicationDbContext context;
public PetRepository(ApplicationDbContext context)
{
_context = context;
this.context = context;
}
public IEnumerable<Pet> GetPetsByUserId(string userId)
{
return _context.Pets
return context.Pets
.Where(p => p.UserId == userId)
.Include(p => p.Stats)
.Include(p => p.Resources)
@@ -24,30 +24,42 @@ namespace pet_companion_api.Repositories
public Pet GetPetById(string petId, string userId)
{
return _context.Pets
.FirstOrDefault(p => p.Id == petId && p.UserId == userId);
return context.Pets
.Where(p => p.Id == petId && p.UserId == userId)
.Include(p => p.Stats)
.Include(p => p.Resources)
.FirstOrDefault();
}
public Pet CreatePet(Pet pet)
{
_context.Pets.Add(pet);
_context.SaveChanges();
context.Pets.Add(pet);
context.SaveChanges();
return pet;
}
public Pet UpdatePet(Pet pet)
{
_context.Pets.Update(pet);
_context.SaveChanges();
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();
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;
}
public Pet UpdatePetResources(Pet pet)
{
context.Pets.Attach(pet);
context.Entry(pet).Reference(p => p.Resources).IsModified = true;
context.Entry(pet).Property(p => p.ActionSince).IsModified = true;
context.SaveChanges();
return pet;
}
}