diff --git a/Company.Domain/ContarctingPartyAgg/IPersonalContractingPartyRepository.cs b/Company.Domain/ContarctingPartyAgg/IPersonalContractingPartyRepository.cs index 2012a3b1..d76c5fd4 100644 --- a/Company.Domain/ContarctingPartyAgg/IPersonalContractingPartyRepository.cs +++ b/Company.Domain/ContarctingPartyAgg/IPersonalContractingPartyRepository.cs @@ -55,7 +55,7 @@ public interface IPersonalContractingPartyRepository :IRepository /// /// - Task> GetSelectList(string search); + Task> GetSelectList(string search,long id); /// /// لیستی از شماره ملی یا شناسه ملی بر اساس حقیقی یا حقوقی بودن diff --git a/Company.Domain/EmployeeAgg/IEmployeeRepository.cs b/Company.Domain/EmployeeAgg/IEmployeeRepository.cs index fa4f6eb3..43a2564a 100644 --- a/Company.Domain/EmployeeAgg/IEmployeeRepository.cs +++ b/Company.Domain/EmployeeAgg/IEmployeeRepository.cs @@ -74,7 +74,7 @@ public interface IEmployeeRepository : IRepository #endregion #region Api - Task> GetSelectList(string searchText); + Task> GetSelectList(string searchText,long id); Task> GetList(GetEmployeeListSearchModel searchModel); #endregion diff --git a/Company.Domain/WorkshopAgg/IWorkshopRepository.cs b/Company.Domain/WorkshopAgg/IWorkshopRepository.cs index 88473dc7..01d6adea 100644 --- a/Company.Domain/WorkshopAgg/IWorkshopRepository.cs +++ b/Company.Domain/WorkshopAgg/IWorkshopRepository.cs @@ -69,7 +69,7 @@ public interface IWorkshopRepository : IRepository Task GetWorkshopsForEmployeeStartWorkCount(long accountId); Task> GetWorkshopsForLeftWorkTemp(long accountId); Task GetWorkshopsForLeftWorkTempCount(long accountId); - Task> GetSelectList(string search, int pageIndex, int pageSize); + Task> GetSelectList(string search, long id); #endregion diff --git a/Company.Domain/empolyerAgg/IEmployerRepository.cs b/Company.Domain/empolyerAgg/IEmployerRepository.cs index 9b64f27a..e3f1c7a1 100644 --- a/Company.Domain/empolyerAgg/IEmployerRepository.cs +++ b/Company.Domain/empolyerAgg/IEmployerRepository.cs @@ -34,7 +34,7 @@ public interface IEmployerRepository : IRepository List GetEmployersHasWorkshop(); - Task> GetSelectList(string search); + Task> GetSelectList(string search,long id); #endregion diff --git a/CompanyManagment.App.Contracts/Employee/IEmployeeApplication.cs b/CompanyManagment.App.Contracts/Employee/IEmployeeApplication.cs index 2624b605..2f1b692d 100644 --- a/CompanyManagment.App.Contracts/Employee/IEmployeeApplication.cs +++ b/CompanyManagment.App.Contracts/Employee/IEmployeeApplication.cs @@ -81,12 +81,13 @@ public interface IEmployeeApplication #region Api - /// - /// لیست پرسنل برای جستجو - /// - /// - /// - Task> GetSelectList(string searchText); + /// + /// لیست پرسنل برای جستجو + /// + /// + /// + /// + Task> GetSelectList(string searchText, long id); /// /// لیست کل پرسنل diff --git a/CompanyManagment.App.Contracts/Employer/IEmployerApplication.cs b/CompanyManagment.App.Contracts/Employer/IEmployerApplication.cs index 86c5c41f..ca7187c3 100644 --- a/CompanyManagment.App.Contracts/Employer/IEmployerApplication.cs +++ b/CompanyManagment.App.Contracts/Employer/IEmployerApplication.cs @@ -42,8 +42,9 @@ public interface IEmployerApplication /// لیست نام کارفرما ها برای جستجو /// /// + /// /// - Task> GetSelectList(string search); + Task> GetSelectList(string search, long id); #endregion #region NewByHeydari diff --git a/CompanyManagment.App.Contracts/PersonalContractingParty/IPersonalContractingPartyApp.cs b/CompanyManagment.App.Contracts/PersonalContractingParty/IPersonalContractingPartyApp.cs index d672910e..6f387207 100644 --- a/CompanyManagment.App.Contracts/PersonalContractingParty/IPersonalContractingPartyApp.cs +++ b/CompanyManagment.App.Contracts/PersonalContractingParty/IPersonalContractingPartyApp.cs @@ -68,8 +68,9 @@ public interface IPersonalContractingPartyApp /// لیست طرف حساب برای سلکت لیست سرچ /// /// + /// /// - Task> GetSelectList(string search); + Task> GetSelectList(string search, long id); /// /// ایجاد طرف حساب حقیقی diff --git a/CompanyManagment.App.Contracts/Workshop/IWorkshopApplication.cs b/CompanyManagment.App.Contracts/Workshop/IWorkshopApplication.cs index eebbf47b..fc437ad4 100644 --- a/CompanyManagment.App.Contracts/Workshop/IWorkshopApplication.cs +++ b/CompanyManagment.App.Contracts/Workshop/IWorkshopApplication.cs @@ -85,7 +85,7 @@ public interface IWorkshopApplication Task> GetWorkshopsForLeftWorkTemp(long accountId); Task GetWorkshopsForLeftWorkTempCount(long accountId); - Task> GetSelectList(string search, int pageIndex, int pageSize); + Task> GetSelectList(string search, long id); #endregion diff --git a/CompanyManagment.Application/EmployeeAplication.cs b/CompanyManagment.Application/EmployeeAplication.cs index c36fc1e5..3873c36f 100644 --- a/CompanyManagment.Application/EmployeeAplication.cs +++ b/CompanyManagment.Application/EmployeeAplication.cs @@ -1669,9 +1669,9 @@ public class EmployeeAplication : RepositoryBase, IEmployeeAppli #region Api - public async Task> GetSelectList(string searchText) + public async Task> GetSelectList(string searchText,long id) { - return await _EmployeeRepository.GetSelectList(searchText); + return await _EmployeeRepository.GetSelectList(searchText,id ); } public async Task> GetList(GetEmployeeListSearchModel searchModel) diff --git a/CompanyManagment.Application/EmployerApplication.cs b/CompanyManagment.Application/EmployerApplication.cs index 6b937dcd..5a088754 100644 --- a/CompanyManagment.Application/EmployerApplication.cs +++ b/CompanyManagment.Application/EmployerApplication.cs @@ -1185,9 +1185,9 @@ public class EmployerApplication : IEmployerApplication return opration.Succcedded(); } - public async Task> GetSelectList(string search) + public async Task> GetSelectList(string search,long id) { - return await _EmployerRepository.GetSelectList(search); + return await _EmployerRepository.GetSelectList(search,id); } async Task> IEmployerApplication.Remove(long id) diff --git a/CompanyManagment.Application/PersonalContractingPartyApplication.cs b/CompanyManagment.Application/PersonalContractingPartyApplication.cs index 9a69f1ce..3d4847f0 100644 --- a/CompanyManagment.Application/PersonalContractingPartyApplication.cs +++ b/CompanyManagment.Application/PersonalContractingPartyApplication.cs @@ -518,9 +518,9 @@ public class PersonalContractingPartyApplication : IPersonalContractingPartyApp return await _personalContractingPartyRepository.GetList(searchModel); } - public async Task> GetSelectList(string search) + public async Task> GetSelectList(string search,long id) { - return await _personalContractingPartyRepository.GetSelectList(search); + return await _personalContractingPartyRepository.GetSelectList(search,id); } public async Task CreateReal(CreateRealContractingParty command) { diff --git a/CompanyManagment.Application/WorkshopAppliction.cs b/CompanyManagment.Application/WorkshopAppliction.cs index 8f24cc1c..1d306823 100644 --- a/CompanyManagment.Application/WorkshopAppliction.cs +++ b/CompanyManagment.Application/WorkshopAppliction.cs @@ -920,9 +920,9 @@ public class WorkshopAppliction : IWorkshopApplication return _workshopRepository.GetWorkshopsForLeftWorkTempCount(accountId); } - public async Task> GetSelectList(string search, int pageIndex, int pageSize) + public async Task> GetSelectList(string search, long id) { - return await _workshopRepository.GetSelectList(search, pageIndex,pageSize); + return await _workshopRepository.GetSelectList(search, id); } #endregion diff --git a/CompanyManagment.EFCore/Repository/EmployeeRepository .cs b/CompanyManagment.EFCore/Repository/EmployeeRepository .cs index 91b75ed3..bd02e8fa 100644 --- a/CompanyManagment.EFCore/Repository/EmployeeRepository .cs +++ b/CompanyManagment.EFCore/Repository/EmployeeRepository .cs @@ -950,22 +950,35 @@ public class EmployeeRepository : RepositoryBase, IEmployeeRepos #region Api - public async Task> GetSelectList(string searchText) + public async Task> GetSelectList(string searchText,long id) { var query = _context.Employees.AsQueryable(); - - if (!string.IsNullOrWhiteSpace(searchText)) + EmployeeSelectListViewModel idSelected = null; + if (id > 0) + { + idSelected = await query.Select(x => new EmployeeSelectListViewModel() + { + Id = x.id, + EmployeeFullName = x.FName + " " + x.LName + }).FirstOrDefaultAsync(x => x.Id == id); + } + if (!string.IsNullOrWhiteSpace(searchText)) { query = query.Where(x => (x.FName + " " + x.LName).Contains(searchText)); } - return await query.Take(100).Select(x => new EmployeeSelectListViewModel() + var list = await query.Take(100).Select(x => new EmployeeSelectListViewModel() { Id = x.id, EmployeeFullName = x.FName + " " + x.LName }).ToListAsync(); - } + if (idSelected != null) + list.Add(idSelected); + + return list.DistinctBy(x=>x.Id).ToList(); + + } public async Task> GetList(GetEmployeeListSearchModel searchModel) { diff --git a/CompanyManagment.EFCore/Repository/EmployerRepository.cs b/CompanyManagment.EFCore/Repository/EmployerRepository.cs index 934c6e00..72d2ea6a 100644 --- a/CompanyManagment.EFCore/Repository/EmployerRepository.cs +++ b/CompanyManagment.EFCore/Repository/EmployerRepository.cs @@ -1,15 +1,16 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using _0_Framework.Application; +using _0_Framework.Application; using _0_Framework.Application.Enums; using _0_Framework.InfraStructure; using Company.Domain.EmployerAccountAgg; using Company.Domain.empolyerAgg; using CompanyManagment.App.Contracts.Checkout; using CompanyManagment.App.Contracts.Employer; +using CompanyManagment.App.Contracts.Workshop; using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; namespace CompanyManagment.EFCore.Repository; @@ -582,19 +583,30 @@ public class EmployerRepository : RepositoryBase, IEmployerRepos }).ToList(); } - public async Task> GetSelectList(string search) + public async Task> GetSelectList(string search,long id) { var query = _context.Employers.Select(x => new EmployerSelectListViewModel() { Id = x.id, Name = x.FullName }); + EmployerSelectListViewModel idSelected = null; + + if (id > 0) + { + idSelected = await query.FirstOrDefaultAsync(x => x.Id == id); + } if (!string.IsNullOrWhiteSpace(search)) { query = query.Where(x => x.Name.Contains(search)); } - return await query.Take(100).ToListAsync(); + var list = await query.Take(100).ToListAsync(); + + if (idSelected != null) + list.Add(idSelected); + + return list.DistinctBy(x => x.Id).ToList(); } #endregion diff --git a/CompanyManagment.EFCore/Repository/PersonalContractingPartyRepository.cs b/CompanyManagment.EFCore/Repository/PersonalContractingPartyRepository.cs index d1a03baf..a19767d7 100644 --- a/CompanyManagment.EFCore/Repository/PersonalContractingPartyRepository.cs +++ b/CompanyManagment.EFCore/Repository/PersonalContractingPartyRepository.cs @@ -572,7 +572,7 @@ public class PersonalContractingPartyRepository : RepositoryBase> GetSelectList(string search) + public async Task> GetSelectList(string search,long id) { var query = _context.PersonalContractingParties.Select(x => new ContractingPartySelectListViewModel { @@ -584,12 +584,21 @@ public class PersonalContractingPartyRepository : RepositoryBase 0) + { + idSelected = await query.FirstOrDefaultAsync(x => x.Id == id); + } if (!string.IsNullOrWhiteSpace(search)) { query = query.Where(x => x.Text.Contains(search)); } - return await query.Take(100).ToListAsync(); + var list = await query.Take(100).ToListAsync(); + if (idSelected != null) + list.Add(idSelected); + + return list.DistinctBy(x => x.Id).ToList(); } public async Task> GetNationalCodeOrNationalId() diff --git a/CompanyManagment.EFCore/Repository/WorkshopRepository.cs b/CompanyManagment.EFCore/Repository/WorkshopRepository.cs index e41f282a..e1b4b975 100644 --- a/CompanyManagment.EFCore/Repository/WorkshopRepository.cs +++ b/CompanyManagment.EFCore/Repository/WorkshopRepository.cs @@ -206,7 +206,7 @@ public class WorkshopRepository : RepositoryBase x.Id == id); + }).FirstOrDefault(x => x.Id == id); } public List GetRelation(long workshopid) @@ -1155,7 +1155,7 @@ public class WorkshopRepository : RepositoryBase> GetSelectList(string search, int pageIndex, int pageSize) + public async Task> GetSelectList(string search, long id) { var query = _context.Workshops.Select(x => new WorkshopSelectListViewModel() { @@ -1163,16 +1163,24 @@ public class WorkshopRepository : RepositoryBase 0) + { + idSelected = await query.FirstOrDefaultAsync(x => x.Id == id); + } if (!string.IsNullOrWhiteSpace(search)) { query = query.Where(x => x.Name.Contains(search)); } - - return await query.ApplyPagination(pageIndex,pageSize).ToListAsync(); + var list = await query.Take(100).ToListAsync(); + + if (idSelected != null) + list.Add(idSelected); + + return list.DistinctBy(x => x.Id).ToList(); } - #endregion #region NewByHeydari //public List GetWorkshopByWorkshopIds(List workshopIds) @@ -1617,7 +1625,7 @@ public class WorkshopRepository : RepositoryBasex.ArchiveCodeInt).ToList(); + return list.OrderBy(x => x.ArchiveCodeInt).ToList(); } #endregion diff --git a/ServiceHost/Areas/Admin/Controllers/ContractingPartyController.cs b/ServiceHost/Areas/Admin/Controllers/ContractingPartyController.cs index fbce5aaf..9eef011b 100644 --- a/ServiceHost/Areas/Admin/Controllers/ContractingPartyController.cs +++ b/ServiceHost/Areas/Admin/Controllers/ContractingPartyController.cs @@ -140,9 +140,9 @@ public class ContractingPartyController : AdminBaseController /// /// [HttpGet("selectList")] - public async Task>> GetSelectList(string search) + public async Task>> GetSelectList(string search, long id) { - return await _contractingPartyApplication.GetSelectList(search); + return await _contractingPartyApplication.GetSelectList(search, id); } /// diff --git a/ServiceHost/Areas/Admin/Controllers/EmployeesController.cs b/ServiceHost/Areas/Admin/Controllers/EmployeesController.cs index abf525f9..91f879a4 100644 --- a/ServiceHost/Areas/Admin/Controllers/EmployeesController.cs +++ b/ServiceHost/Areas/Admin/Controllers/EmployeesController.cs @@ -16,16 +16,16 @@ public class EmployeesController:AdminBaseController } - /// /// لیست پرسنل برای جستجو /// /// + /// /// [HttpGet("select_list")] - public async Task>> GetSelectList(string search) + public async Task>> GetSelectList(string search, long id) { - var data = await _employeeApplication.GetSelectList(search); + var data = await _employeeApplication.GetSelectList(search, id); return data; } diff --git a/ServiceHost/Areas/Admin/Controllers/EmployerController.cs b/ServiceHost/Areas/Admin/Controllers/EmployerController.cs index 0cefade3..2cd707f3 100644 --- a/ServiceHost/Areas/Admin/Controllers/EmployerController.cs +++ b/ServiceHost/Areas/Admin/Controllers/EmployerController.cs @@ -115,9 +115,9 @@ public class EmployerController : AdminBaseController /// /// [HttpGet("select_list")] - public async Task> GetSelectList(string search) + public async Task> GetSelectList(string search, long id) { - return await _employerApplication.GetSelectList(search); + return await _employerApplication.GetSelectList(search, id); } } \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Controllers/WorkshopController.cs b/ServiceHost/Areas/Admin/Controllers/WorkshopController.cs index 6d8048e8..8e0d9b06 100644 --- a/ServiceHost/Areas/Admin/Controllers/WorkshopController.cs +++ b/ServiceHost/Areas/Admin/Controllers/WorkshopController.cs @@ -21,9 +21,9 @@ public class WorkshopController: AdminBaseController /// /// [HttpGet("select_list")] - public async Task>> GetSelectList(string search, int pageIndex,int pageSize=20) + public async Task>> GetSelectList(string search, long id) { - var data = await _workshopApplication.GetSelectList(search,pageIndex, pageSize); + var data = await _workshopApplication.GetSelectList(search,id); return data; } diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/MonthlyOverview/Index.cshtml.cs b/ServiceHost/Areas/AdminNew/Pages/Company/MonthlyOverview/Index.cshtml.cs index 8f43c9ea..2d08256e 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/MonthlyOverview/Index.cshtml.cs +++ b/ServiceHost/Areas/AdminNew/Pages/Company/MonthlyOverview/Index.cshtml.cs @@ -87,17 +87,17 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.MonthlyOverview return new JsonResult(counter); } - public async Task OnGetEmployerSelectList(string search) + public async Task OnGetEmployerSelectList(string search, long id) { - var res = await _employerApplication.GetSelectList(search); + var res = await _employerApplication.GetSelectList(search, id); return new JsonResult(new { data = res }); } - public async Task OnGetWorkshopSelectList(string search, int pageIndex,int pageSize = 20) + public async Task OnGetWorkshopSelectList(string search, long id) { - var res = await _workshopApplication.GetSelectList(search, pageIndex, pageSize); + var res = await _workshopApplication.GetSelectList(search, id); return new JsonResult(new { data = res