Files
SVSimServer/SVSim.Database/Repositories/Card/CardRepository.cs
2025-05-18 02:27:17 -04:00

30 lines
1.0 KiB
C#

using DCGEngine.Database.Models;
using Microsoft.EntityFrameworkCore;
using SVSim.Database.Models;
namespace SVSim.Database.Repositories.Card;
public class CardRepository : BaseRepository<ShadowverseCardEntry>, ICardRepository
{
public CardRepository(SVSimDbContext dbContext) : base(dbContext)
{
}
public async Task<List<ShadowverseCardEntry>> GetAll(bool onlyCollectible)
{
var cards = await DbSet.AsNoTracking().Where(card => !onlyCollectible || card.CollectionInfo != null).ToListAsync();
return cards;
}
public async Task<List<ShadowverseCardEntry>> GetAllBasic()
{
return await DbContext.Set<ShadowverseCardSetEntry>().Where(set => set.IsBasic).SelectMany(set => set.Cards)
.Cast<ShadowverseCardEntry>().ToListAsync();
}
public async Task<List<ShadowverseCardSetEntry>> GetCardSets(bool onlyInRotation)
{
return await DbContext.Set<ShadowverseCardSetEntry>().AsNoTracking()
.Where(set => !onlyInRotation || set.IsInRotation).ToListAsync();
}
}