using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using YouTubeViewers.Domain.Models; using YouTubeViewers.Domain.Queries; using YouTubeViewers.EntityFramework.DTOs; namespace YouTubeViewers.EntityFramework.Queries { public class GetAllYouTubeViewersQuery : IGetAllYouTubeViewersQuery { private readonly YouTubeViewersDbContextFactory _contextFactory; public GetAllYouTubeViewersQuery(YouTubeViewersDbContextFactory contextFactory) { _contextFactory = contextFactory; } public async Task> Execute() { using (YouTubeViewersDbContext context = _contextFactory.Create()) { //await Task.Delay(5000); IEnumerable youTubeViewerDtos = await context.YouTubeViewers.ToListAsync(); return youTubeViewerDtos.Select(y => new YouTubeViewer(y.Id, y.Username, y.IsSubscribed, y.IsMember)); } } } }