diff --git a/CompanyManagment.Application/InstitutionContractApplication.cs b/CompanyManagment.Application/InstitutionContractApplication.cs index ffbcb7d9..41fcf9a2 100644 --- a/CompanyManagment.Application/InstitutionContractApplication.cs +++ b/CompanyManagment.Application/InstitutionContractApplication.cs @@ -888,6 +888,7 @@ public class InstitutionContractApplication : IInstitutionContractApplication public void RemoveContract(long id) { _institutionContractRepository.RemoveContract(id); + } diff --git a/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs b/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs index 65259abb..bcb8bf5a 100644 --- a/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs +++ b/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs @@ -638,9 +638,19 @@ public class InstitutionContractRepository : RepositoryBase x.id == id); - var contactInfo = _context.InstitutionContractContactInfos.Where(x => x.InstitutionContractId == id) + var institutionContarct = _context.InstitutionContractSet + .FirstOrDefault(x => x.id == id); + + var prevInstitutionContracts = _context.InstitutionContractSet + .Where(x => x.ContractingPartyId == institutionContarct.ContractingPartyId) + .OrderByDescending(x => x.ContractEndGr).Skip(1).FirstOrDefault(); + + var transaction = _context.Database.BeginTransaction(); + + var contactInfo = _context.InstitutionContractContactInfos + .Where(x => x.InstitutionContractId == id) .ToList(); + if (contactInfo.Count > 0) { foreach (var item in contactInfo) @@ -656,6 +666,31 @@ public class InstitutionContractRepository : RepositoryBase x.FinancialTransactionList) + .FirstOrDefault(x=>x.ContractingPartyId == institutionContarct.ContractingPartyId); + if (financialStatement != null) + { + + var sumDebtor = financialStatement.FinancialTransactionList + .Sum(x => x.Deptor); + var sumCreditor = financialStatement.FinancialTransactionList + .Sum(x => x.Creditor); + var balance = sumDebtor - sumCreditor; + if (balance>0 && prevInstitutionContracts.ContractEndGr