From 75ea35596b40686f2327c918baf9bcc996b21f52 Mon Sep 17 00:00:00 2001 From: mahan Date: Mon, 13 Oct 2025 11:17:13 +0330 Subject: [PATCH 1/5] refactor: comment out conditional checks in Index.js for clarity --- .../wwwroot/AssetsAdmin/page/InsuranceList/js/Index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ServiceHost/wwwroot/AssetsAdmin/page/InsuranceList/js/Index.js b/ServiceHost/wwwroot/AssetsAdmin/page/InsuranceList/js/Index.js index 84bb6e3b..b099ece2 100644 --- a/ServiceHost/wwwroot/AssetsAdmin/page/InsuranceList/js/Index.js +++ b/ServiceHost/wwwroot/AssetsAdmin/page/InsuranceList/js/Index.js @@ -823,7 +823,7 @@ function generateButtons(item, pathDSKKAR00, pathDSKWOR00) { } //if (item.inspectionDone && item.debtDone && item.employerApproved && item.confirmSentlist) { - if (item.inspectionDone || item.debtDone || item.employerApproved || item.confirmSentlist) { + // if (item.inspectionDone || item.debtDone || item.employerApproved || item.confirmSentlist) { // Confirm List and Print Button if (hasPermission_80215) { html += ` @@ -839,7 +839,7 @@ function generateButtons(item, pathDSKKAR00, pathDSKWOR00) { پرینت `; } - } + // } if (item.inspectionDone || item.debtDone || item.employerApproved || item.confirmSentlist) { // Summary List and Print Button From 7c4cf1e2ed778281ce37f501f4faf7f1bf5091c6 Mon Sep 17 00:00:00 2001 From: mahan Date: Mon, 13 Oct 2025 15:14:24 +0330 Subject: [PATCH 2/5] feat: add edit laws and regulations link to the menu --- ServiceHost/Areas/Admin/Pages/Shared/_Menu.cshtml | 8 ++++++++ ServiceHost/Areas/AdminNew/Pages/Shared/_Menu.cshtml | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/ServiceHost/Areas/Admin/Pages/Shared/_Menu.cshtml b/ServiceHost/Areas/Admin/Pages/Shared/_Menu.cshtml index 1454df82..e53dbc46 100644 --- a/ServiceHost/Areas/Admin/Pages/Shared/_Menu.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Shared/_Menu.cshtml @@ -473,6 +473,14 @@ +
  • + + + +
  • diff --git a/ServiceHost/Areas/AdminNew/Pages/Shared/_Menu.cshtml b/ServiceHost/Areas/AdminNew/Pages/Shared/_Menu.cshtml index 32588f33..5777d935 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Shared/_Menu.cshtml +++ b/ServiceHost/Areas/AdminNew/Pages/Shared/_Menu.cshtml @@ -621,6 +621,14 @@
  • +
  • + + + +
  • From 330a3ca8395795a71d62a8fcac49ab15d15a5fe7 Mon Sep 17 00:00:00 2001 From: syntax24 Date: Mon, 13 Oct 2025 15:34:53 +0330 Subject: [PATCH 3/5] web.config change --- ServiceHost/web.config | 1 + 1 file changed, 1 insertion(+) diff --git a/ServiceHost/web.config b/ServiceHost/web.config index 82d5b955..b705c33d 100644 --- a/ServiceHost/web.config +++ b/ServiceHost/web.config @@ -7,6 +7,7 @@ + From 5b3c7e471ee5997f1cba15bdaefc9beb382699b9 Mon Sep 17 00:00:00 2001 From: syntax24 Date: Mon, 13 Oct 2025 15:45:12 +0330 Subject: [PATCH 4/5] web.config remove new tag --- ServiceHost/web.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ServiceHost/web.config b/ServiceHost/web.config index b705c33d..5301347a 100644 --- a/ServiceHost/web.config +++ b/ServiceHost/web.config @@ -7,7 +7,7 @@ - + From d0b29e764351c8718e44e8a5a5aa08d2135f4323 Mon Sep 17 00:00:00 2001 From: mahan Date: Tue, 14 Oct 2025 14:05:44 +0330 Subject: [PATCH 5/5] feat: add GetInstitutionContractSelectList method for improved search functionality --- .../IInstitutionContractRepository.cs | 1 + .../IInstitutionContractApplication.cs | 3 + .../InstitutionContractApplication.cs | 5 ++ .../InstitutionContractRepository.cs | 59 +++++++++++++++++++ .../institutionContractController.cs | 8 +++ 5 files changed, 76 insertions(+) diff --git a/Company.Domain/InstitutionContractAgg/IInstitutionContractRepository.cs b/Company.Domain/InstitutionContractAgg/IInstitutionContractRepository.cs index ecc07005..34f955b5 100644 --- a/Company.Domain/InstitutionContractAgg/IInstitutionContractRepository.cs +++ b/Company.Domain/InstitutionContractAgg/IInstitutionContractRepository.cs @@ -59,4 +59,5 @@ public interface IInstitutionContractRepository : IRepository GetExtensionInstitutionPlan(InstitutionContractExtensionPlanRequest request); Task GetExtensionPaymentMethod(InstitutionContractExtensionPaymentRequest request); Task ExtensionComplete(InstitutionContractExtensionCompleteRequest request); + Task> GetInstitutionContractSelectList(string search, string selected); } \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/InstitutionContract/IInstitutionContractApplication.cs b/CompanyManagment.App.Contracts/InstitutionContract/IInstitutionContractApplication.cs index a226ac7e..2ae1ecff 100644 --- a/CompanyManagment.App.Contracts/InstitutionContract/IInstitutionContractApplication.cs +++ b/CompanyManagment.App.Contracts/InstitutionContract/IInstitutionContractApplication.cs @@ -219,8 +219,11 @@ public interface IInstitutionContractApplication InstitutionContractExtensionPaymentRequest request); Task ExtensionComplete(InstitutionContractExtensionCompleteRequest request); + Task> GetInstitutionContractSelectList(string search,string selected); } +public class InstitutionContractSelectListViewModel : SelectListViewModel; + public class InstitutionContractExtensionInquiryResponse { public long Id { get; set; } diff --git a/CompanyManagment.Application/InstitutionContractApplication.cs b/CompanyManagment.Application/InstitutionContractApplication.cs index bbe7f441..64e8e103 100644 --- a/CompanyManagment.Application/InstitutionContractApplication.cs +++ b/CompanyManagment.Application/InstitutionContractApplication.cs @@ -1301,6 +1301,11 @@ public class InstitutionContractApplication : IInstitutionContractApplication { return await _institutionContractRepository.ExtensionComplete(request); } + + public async Task> GetInstitutionContractSelectList(string search, string selected) + { + return await _institutionContractRepository.GetInstitutionContractSelectList(search,selected); + } private async Task> CreateLegalContractingPartyEntity( diff --git a/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs b/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs index 04bfb463..09aebdd1 100644 --- a/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs +++ b/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs @@ -1083,6 +1083,11 @@ public class InstitutionContractRepository : RepositoryBase x.contractingParty.RepresentativeFullName.Contains(keyword) || (x.contractingParty.FName + " " + x.contractingParty.LName).Contains(keyword) || + (x.contractingParty.IsLegal == "حقیقی" ? x.contractingParty.SureName == null + ? x.contractingParty.FName + " " + x.contractingParty.LName + : x.contractingParty.FName + " " + x.contractingParty.LName + " " + x.contractingParty.SureName + : x.contractingParty.SureName == null ? x.contractingParty.LName + : x.contractingParty.LName + " " + x.contractingParty.SureName).Contains(keyword)|| x.contractingParty.Employers.Any(e => e.FullName.Contains(keyword) || e.WorkshopEmployers.Any(we => @@ -2326,6 +2331,60 @@ public class InstitutionContractRepository : RepositoryBase> GetInstitutionContractSelectList(string search, + string selected) + { + var contractingParties = _context.PersonalContractingParties.Select(x => new InstitutionContractSelectListViewModel() + { + Id = x.id, + Text = x.IsLegal == "حقیقی" ? x.SureName == null + ? x.FName + " " + x.LName + : x.FName + " " + x.LName + " " + x.SureName + : x.SureName == null ? x.LName + : x.LName + " " + x.SureName + }); + + var workshops = _context.Workshops.Select(x => new InstitutionContractSelectListViewModel() + { + Id = x.id, + Text = x.WorkshopFullName + }); + var employers = _context.Employers.Select(x => new InstitutionContractSelectListViewModel() + { + Id = x.id, + Text = x.FName + " " + x.LName + }); + var representatives = _context.RepresentativeSet.Select(x => new InstitutionContractSelectListViewModel() + { + Id = x.id, + Text = x.FName + " " + x.LName + }); + + var res = contractingParties + .Union(workshops) + .Union(employers) + .Union(representatives); + + InstitutionContractSelectListViewModel idSelected = null; + + if (string.IsNullOrWhiteSpace(selected)) + { + idSelected = await res.FirstOrDefaultAsync(x => x.Text == selected); + } + if (string.IsNullOrWhiteSpace(search)) + { + res = res.Where(x => x.Text.Contains(search)); + } + + var list = await res.Take(100).ToListAsync(); + + if (idSelected != null) + list.Add(idSelected); + + return list.DistinctBy(x => x.Id).ToList(); + + } + private InstitutionContractExtensionPaymentResponse CalculateInPersonPayment( InstitutionContractExtensionPlanDetail selectedPlan, double baseAmount, double tenPercent, diff --git a/ServiceHost/Areas/Admin/Controllers/institutionContractController.cs b/ServiceHost/Areas/Admin/Controllers/institutionContractController.cs index 9459b6be..3c8b0ddb 100644 --- a/ServiceHost/Areas/Admin/Controllers/institutionContractController.cs +++ b/ServiceHost/Areas/Admin/Controllers/institutionContractController.cs @@ -67,6 +67,14 @@ public class institutionContractController : AdminBaseController { return await _institutionContractApplication.GetList(searchModel); } + + [HttpGet("select-list")] + public async Task>> GetContractingPartySelectList(string search,string selected) + { + var result = await _institutionContractApplication + .GetInstitutionContractSelectList(search,selected); + return result; + } /// /// وضعیت تب ها