using BrightGlimmer.Data.Interfaces; using BrightGlimmer.Domain; using BrightGlimmer.Services.Queries; using MediatR; using Microsoft.EntityFrameworkCore; /* TODO */ using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace BrightGlimmer.Services.Handlers.QueryHandlers { public class GetAllStudentsQueryHandler : IRequestHandler> { private readonly IQueryRepository repository; public GetAllStudentsQueryHandler(IQueryRepository repository) { this.repository = repository; } public async Task> Handle(GetAllStudentsQuery request, CancellationToken cancellationToken) { return await repository.Get() .Include(x => x.Phones) .Include(x => x.Address) .Include(x => x.AssignedCourses) .ToListAsync(); } } }