using Microsoft.EntityFrameworkCore;
using NexusReader.Application.Abstractions.Persistence;
using NexusReader.Data.Persistence;
using NexusReader.Domain.Entities;
namespace NexusReader.Infrastructure.Persistence;
///
/// EF Core implementation of .
///
internal sealed class QuizResultRepository : IQuizResultRepository
{
private readonly AppDbContext _context;
public QuizResultRepository(AppDbContext context)
{
_context = context;
}
///
public async Task FindUserByIdAsync(string userId, CancellationToken cancellationToken = default)
{
return await _context.Users.FirstOrDefaultAsync(u => u.Id == userId, cancellationToken);
}
///
public void AddQuizResult(QuizResult quizResult)
{
_context.QuizResults.Add(quizResult);
}
///
public Task SaveChangesAsync(CancellationToken cancellationToken = default)
{
return _context.SaveChangesAsync(cancellationToken);
}
}