using ApplicationLayer.Services.VisaApplications.NeededServices; using Domains.VisaApplicationDomain; using Infrastructure.Database.Generic; using Microsoft.EntityFrameworkCore; namespace Infrastructure.Database.VisaApplications.Repositories; public sealed class VisaApplicationsRepository(IGenericReader reader, IGenericWriter writer) : GenericRepository(reader, writer), IVisaApplicationsRepository { protected override IQueryable LoadDomain() => base.LoadDomain() .Include(va => va.PastVisas) .Include(va => va.PastVisits); async Task> IVisaApplicationsRepository.GetOfApplicantAsync(Guid applicantId, CancellationToken cancellationToken) => await LoadDomain().Where(va => va.ApplicantId == applicantId).ToListAsync(cancellationToken); }