diff --git a/CompanyManagment.EFCore/Repository/LoanRepository.cs b/CompanyManagment.EFCore/Repository/LoanRepository.cs index 6f23763e..92efc586 100644 --- a/CompanyManagment.EFCore/Repository/LoanRepository.cs +++ b/CompanyManagment.EFCore/Repository/LoanRepository.cs @@ -35,9 +35,18 @@ public class LoanRepository : RepositoryBase, ILoanRepository var startDate = loan.LoanInstallments.MinBy(x => x.InstallmentDate).InstallmentDate; var endDate = loan.LoanInstallments.MaxBy(x => x.InstallmentDate).InstallmentDate; - - var customizeCheckouts =await _companyContext.CustomizeCheckouts.Where(x => x.WorkshopId == loan.WorkshopId && x.EmployeeId == loan.EmployeeId && - x.ContractStart <= endDate && x.ContractEnd >= startDate).Select(x=> new {x.MonthInt, x.YearInt}).ToListAsync(); + var pc = new PersianCalendar(); + var customizeCheckouts = (await _companyContext.CheckoutSet + .Where(x => x.WorkshopId == loan.WorkshopId && x.EmployeeId == loan.EmployeeId && + startDate<=x.ContractEnd && endDate>=x.ContractEnd) + .Select(x => x.ContractStart).ToListAsync()) + .Select(x => + { + + var year = pc.GetYear(x); + var month = pc.GetMonth(x); + return new { Month = month, Year = year }; + }); var result = new LoanDetailsViewModel() { @@ -51,7 +60,7 @@ public class LoanRepository : RepositoryBase, ILoanRepository Id = x.Id, InstallmentAmount = x.AmountForMonth.ToMoney(), InstallmentDate = x.InstallmentDate.ToFarsi(), - IsPaid = customizeCheckouts.Any(c => c.MonthInt.ToString() == x.Month && c.YearInt.ToString() == x.Year) + IsPaid = customizeCheckouts.Any(c => c.Month.ToString("00") == x.Month && c.Year.ToString() == x.Year), }).ToList() };