using ApplicationLayer.Applicants;
using ApplicationLayer.Common;
using Domains.ApplicantDomain;
using Infrastructure.Database.Generic;
using Microsoft.EntityFrameworkCore;
namespace Infrastructure.Database.Applicants.Repositories;
/// Repository pattern for 
/// 
/// 
/// 
public sealed class ApplicantsRepository(IGenericReader reader, IGenericWriter writer, IUnitOfWork unitOfWork)
    : GenericRepository(reader, writer, unitOfWork), IApplicantsRepository
{
    protected override IQueryable LoadDomain()
    {
        return base.LoadDomain()
            .Include(a => a.CountryOfBirth)
            .Include(a => a.CityOfBirth)
            .Include(a => a.PlaceOfWork);
    }
}