using Microsoft.EntityFrameworkCore; using SameBeat.Application.Interfejsy; using SameBeat.Domain.Encje; using SameBeat.Infrastructure.BazaDanych; namespace SameBeat.Infrastructure.Repozytoria; public class RepozytoriumHistoriiMikrofonu : IRepozytoriumHistoriiMikrofonu { private readonly KontekstBazyDanych _kontekst; public RepozytoriumHistoriiMikrofonu(KontekstBazyDanych kontekst) { _kontekst = kontekst; } public void Dodaj(HistoriaMikrofonu wpis) => _kontekst.HistoriaMikrofonu.Add(wpis); public Task ZnajdzOtwartyAsync(Guid wydarzenieId, Guid uczestnikOczekujacyId, CancellationToken token = default) => _kontekst.HistoriaMikrofonu .Where(h => h.WydarzenieId == wydarzenieId && h.UczestnikOczekujacyId == uczestnikOczekujacyId && h.KoniecFaktycznyUtc == null) .OrderByDescending(h => h.StartUtc) .FirstOrDefaultAsync(token); }