using Microsoft.EntityFrameworkCore; using SameBeat.Application.Interfejsy; using SameBeat.Domain.Encje; using SameBeat.Domain.Enumy; using SameBeat.Infrastructure.BazaDanych; namespace SameBeat.Infrastructure.Repozytoria; public class RepozytoriumPoczekalni : IRepozytoriumPoczekalni { private readonly KontekstBazyDanych _kontekst; public RepozytoriumPoczekalni(KontekstBazyDanych kontekst) { _kontekst = kontekst; } public Task ZnajdzPoIdAsync(Guid id, CancellationToken token = default) => _kontekst.UczestnicyOczekujacy.SingleOrDefaultAsync(u => u.Id == id, token); public Task> PobierzOczekujacychDlaWydarzeniaAsync(Guid wydarzenieId, CancellationToken token = default) => _kontekst.UczestnicyOczekujacy .Where(u => u.WydarzenieId == wydarzenieId && u.Status == StatusUczestnikaOczekujacego.Oczekuje) .OrderBy(u => u.DolaczylUtc) .ToListAsync(token); public void Dodaj(UczestnikOczekujacy uczestnik) => _kontekst.UczestnicyOczekujacy.Add(uczestnik); }