30 lines
1.0 KiB
C#
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();
|
|
}
|
|
} |