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 bc3459ed..58c16095 100644 --- a/CompanyManagment.Application/InstitutionContractApplication.cs +++ b/CompanyManagment.Application/InstitutionContractApplication.cs @@ -1304,6 +1304,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; + } /// /// وضعیت تب ها 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 @@
  • +
  • + + + +
  • diff --git a/ServiceHost/web.config b/ServiceHost/web.config index 82d5b955..5301347a 100644 --- a/ServiceHost/web.config +++ b/ServiceHost/web.config @@ -7,6 +7,7 @@ + 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