diff --git a/CompanyManagment.EFCore/Repository/InsuranceListRepository.cs b/CompanyManagment.EFCore/Repository/InsuranceListRepository.cs index dcf1447b..e8f7130e 100644 --- a/CompanyManagment.EFCore/Repository/InsuranceListRepository.cs +++ b/CompanyManagment.EFCore/Repository/InsuranceListRepository.cs @@ -1594,19 +1594,25 @@ public class InsuranceListRepository : RepositoryBase, IIns .Where(x => x.LeftWorkInsurances.Any(l=>l.StartWorkDate <= firstDayOfMonth && (l.LeftWorkDate == null || l.LeftWorkDate >= firstDayOfMonth))); - var res = await notCreatedWorkshop - .GroupJoin(_context.WorkshopEmployers, + var res = await notCreatedWorkshop + .Join( + _context.WorkshopEmployers + .OrderBy(we => we.WorkshopId) + .ThenBy(we => we.EmployerId) + .GroupBy(we => we.WorkshopId) + .Select(g => g.First()), workshop => workshop.id, - workshopEmployer => workshopEmployer.WorkshopId, - (workshop, workshopEmployer) => new { workshop, workshopEmployer }) - .SelectMany(x => x.workshopEmployer.DefaultIfEmpty(), (x, workshopEmployer) => new { x.workshop, workshopEmployer }) - .GroupJoin(_context.Employers, - allResult => allResult.workshopEmployer.EmployerId, - employer => employer.id, - (allResult, employer) => new { allResult.workshop, allResult.workshopEmployer, employer }) - .SelectMany(x => x.employer.DefaultIfEmpty(), (x, employer) => new { x.workshop, x.workshopEmployer, employer }) - .Select(x => new InsuranceListViewModel - { + employer => employer.WorkshopId, + (workshop, workshopEmployer) => new + { + workshop, + workshopEmployer, + employer = _context.Employers + .FirstOrDefault(e => e.id == workshopEmployer.EmployerId) + } + ) + .Select(x=> new InsuranceListViewModel + { WorkShopId = x.workshop.id, WorkShopCode = x.workshop.InsuranceCode, WorkShopName = x.workshop.InsuranceWorkshopInfo != null ? x.workshop.InsuranceWorkshopInfo.WorkshopName : x.workshop.WorkshopFullName,