pet-companion-back/Repositories/PetSkillRepository.cs

47 lines
1.1 KiB
C#

using Microsoft.EntityFrameworkCore;
using PetCompanion.Data;
using PetCompanion.Models;
namespace PetCompanion.Repositories
{
public class PetSkillRepository
{
private readonly ApplicationDbContext _context;
public PetSkillRepository(ApplicationDbContext context)
{
_context = context;
}
public Skill GetSkill(int id)
{
return _context.Skills
.Include(s => s.Effects)
.FirstOrDefault(s => s.Id == id);
}
public IEnumerable<PetSkill> GetPetSkills(string petId)
{
return _context.PetSkills
.Include(ps => ps.Skill)
.ThenInclude(s => s.Effects)
.Where(ps => ps.PetId == petId)
.ToList();
}
public PetSkill SavePetSkill(PetSkill petSkill)
{
if (petSkill.Id == 0)
{
_context.PetSkills.Add(petSkill);
}
else
{
_context.PetSkills.Update(petSkill);
}
_context.SaveChanges();
return petSkill;
}
}
}