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.Application/LeftWorkTempApplication.cs b/CompanyManagment.Application/LeftWorkTempApplication.cs index 3f2b2dab..75a27a98 100644 --- a/CompanyManagment.Application/LeftWorkTempApplication.cs +++ b/CompanyManagment.Application/LeftWorkTempApplication.cs @@ -290,8 +290,34 @@ public class LeftWorkTempApplication : ILeftWorkTempApplication //get rollCallEmployee associated with those leftworks which have a higher end date than leftworkDate + var rollCallsEmployee = _rollCallEmployeeRepository.GetBy(employeeId, workshopId); + if (rollCallsEmployee != null) + { + var status = rollCallsEmployee.EmployeesStatus.OrderByDescending(z => z.StartDate) + .FirstOrDefault(rollCallEmployeeStatus => rollCallEmployeeStatus.StartDate.Date < maxLeftWork.LeftWorkDateGr + && rollCallEmployeeStatus.EndDate.Date > + maxLeftWork.LeftWorkDateGr); + + if (status != null) + { + var adjust = new AdjustRollCallEmployeesWithEmployeeLeftWork() + { + LeaveDate = maxLeftWork.LeftWorkDateGr, + RollCallStatusId = status.id + }; + _rollCallEmployeeStatusRepository.AdjustRollCallStatusEndDates([adjust]); + } + + var rollCallEmployeeStatusList = rollCallsEmployee.EmployeesStatus + .Where(x => x.StartDate >= maxLeftWork.LeftWorkDateGr).ToList(); + if (rollCallEmployeeStatusList.Any()) + { + _rollCallEmployeeStatusRepository.RemoveRange(rollCallEmployeeStatusList); + _rollCallEmployeeStatusRepository.SaveChanges(); + } + } // var joinedList = rollCallsEmployee.Join(leftWorks, x => x.WorkshopId, y => y.WorkshopId, (x, y) => new // { // x.WorkshopId, @@ -301,27 +327,6 @@ public class LeftWorkTempApplication : ILeftWorkTempApplication // }); - var status = rollCallsEmployee.EmployeesStatus.OrderByDescending(z => z.StartDate) - .FirstOrDefault(rollCallEmployeeStatus => rollCallEmployeeStatus.StartDate.Date < maxLeftWork.LeftWorkDateGr - && rollCallEmployeeStatus.EndDate.Date > - maxLeftWork.LeftWorkDateGr); - - if (status != null) - { - var adjust = new AdjustRollCallEmployeesWithEmployeeLeftWork() - { - LeaveDate = maxLeftWork.LeftWorkDateGr, - RollCallStatusId = status.id - }; - _rollCallEmployeeStatusRepository.AdjustRollCallStatusEndDates([adjust]); - } - - var rollCallEmployeeStatusList = rollCallsEmployee.EmployeesStatus - .Where(x => x.StartDate >= maxLeftWork.LeftWorkDateGr).ToList(); - if (rollCallEmployeeStatusList.Any()) - { - _rollCallEmployeeStatusRepository.RemoveRange(rollCallEmployeeStatusList); - _rollCallEmployeeStatusRepository.SaveChanges(); - } + } } \ No newline at end of file diff --git a/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs b/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs index 61a43882..1a22db1f 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 x.NationalId == legalCommand.NationalId); if (!request.LegalParty.IsAuth) { - if (realPersonalContractingParty is { IsAuthenticated: false }) + if (legalPersonalContractingParty is { IsAuthenticated: false }) { - realPersonalContractingParty.UnAuthenticateLegalEdit(legalCommand.FName, legalCommand.LName, - legalCommand.FatherName, legalCommand.IdNumber, realPersonalContractingParty.IdNumberSeri, - realPersonalContractingParty.IdNumberSerial, legalCommand.BirthDateFa, legalCommand.Gender, + legalPersonalContractingParty.UnAuthenticateLegalEdit(legalCommand.FName, legalCommand.LName, + legalCommand.FatherName, legalCommand.IdNumber, legalPersonalContractingParty.IdNumberSeri, + legalPersonalContractingParty.IdNumberSerial, legalCommand.BirthDateFa, legalCommand.Gender, legalCommand.PhoneNumber); } } - realPersonalContractingParty?.EditLegalPartyFromInstitution(legalCommand.Position, legalCommand.CompanyName, + else + { + legalPersonalContractingParty?.LegalAuthentication(legalCommand.FName, legalCommand.LName, + legalCommand.FatherName, legalCommand.IdNumber, legalPersonalContractingParty.IdNumberSeri, + legalPersonalContractingParty.IdNumberSerial, legalCommand.BirthDateFa, legalCommand.Gender, + legalCommand.PhoneNumber); + } + + legalPersonalContractingParty?.EditLegalPartyFromInstitution(legalCommand.Position, + legalCommand.CompanyName, legalCommand.RegisterId, legalCommand.NationalId); break; case LegalType.Real: @@ -2353,7 +2397,7 @@ public class InstitutionContractRepository : RepositoryBase لیست تراکنش های درگاه پرداخت +
  • + + + + + اطلاعات بانکی طرف حساب +
  • diff --git a/ServiceHost/Areas/AdminNew/Pages/Shared/_Menu.cshtml b/ServiceHost/Areas/AdminNew/Pages/Shared/_Menu.cshtml index 6e57e512..f6ec0b36 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Shared/_Menu.cshtml +++ b/ServiceHost/Areas/AdminNew/Pages/Shared/_Menu.cshtml @@ -655,6 +655,13 @@ لیست تراکنش های درگاه پرداخت +
  • + + + + + اطلاعات بانکی طرف حساب +