diff --git a/CompanyManagment.EFCore/Repository/InsuranceJobRepository.cs b/CompanyManagment.EFCore/Repository/InsuranceJobRepository.cs index c57d04ba..8efd23c3 100644 --- a/CompanyManagment.EFCore/Repository/InsuranceJobRepository.cs +++ b/CompanyManagment.EFCore/Repository/InsuranceJobRepository.cs @@ -396,6 +396,11 @@ public class InsuranceJobRepository : RepositoryBase, IInsur bool moreThan = usedParcentsInDateSalaryItems.Any(x => itemsMoreThan.Contains(x.Percent) && x.Salary > 0); if (lessThan || moreThan) return result.Failed("درصد های این صنف دارای مبلغ می باشند"); + + var percentaegJoin = itemsLessThan + .Concat(itemsMoreThan) + .Distinct() + .ToList(); using (var transaction = _context.Database.BeginTransaction()) { try @@ -406,6 +411,12 @@ public class InsuranceJobRepository : RepositoryBase, IInsur var insuranceJobObj = Get(id); _context.InsuranceJobs.Remove(insuranceJobObj); + + + var toBeRemove = usedParcentsInDateSalaryItems.Where(x => percentaegJoin.Contains(x.Percent)).Select(x=>x.id); + var dateSalaryItemToBeRemovde = _context.DateSalaryItems.Where(x => toBeRemove.Contains(x.id)); + _context.DateSalaryItems.RemoveRange(dateSalaryItemToBeRemovde); + _context.SaveChanges(); transaction.Commit(); result.IsSuccedded = true;