add id to select lists

This commit is contained in:
MahanCh
2025-07-23 10:46:00 +03:30
parent a61c62a2c3
commit 744078dd6c
21 changed files with 99 additions and 54 deletions

View File

@@ -55,7 +55,7 @@ public interface IPersonalContractingPartyRepository :IRepository<long, Personal
/// </summary>
/// <param name="search"></param>
/// <returns></returns>
Task<List<ContractingPartySelectListViewModel>> GetSelectList(string search);
Task<List<ContractingPartySelectListViewModel>> GetSelectList(string search,long id);
/// <summary>
/// لیستی از شماره ملی یا شناسه ملی بر اساس حقیقی یا حقوقی بودن

View File

@@ -74,7 +74,7 @@ public interface IEmployeeRepository : IRepository<long, Employee>
#endregion
#region Api
Task<List<EmployeeSelectListViewModel>> GetSelectList(string searchText);
Task<List<EmployeeSelectListViewModel>> GetSelectList(string searchText,long id);
Task<List<GetEmployeeListViewModel>> GetList(GetEmployeeListSearchModel searchModel);
#endregion

View File

@@ -69,7 +69,7 @@ public interface IWorkshopRepository : IRepository<long, Workshop>
Task<int> GetWorkshopsForEmployeeStartWorkCount(long accountId);
Task<List<WorkshopWithLeftWorkTempEmployeesDto>> GetWorkshopsForLeftWorkTemp(long accountId);
Task<int> GetWorkshopsForLeftWorkTempCount(long accountId);
Task<List<WorkshopSelectListViewModel>> GetSelectList(string search, int pageIndex, int pageSize);
Task<List<WorkshopSelectListViewModel>> GetSelectList(string search, long id);
#endregion

View File

@@ -34,7 +34,7 @@ public interface IEmployerRepository : IRepository<long, Employer>
List<EmployerViewModel> GetEmployersHasWorkshop();
Task<List<EmployerSelectListViewModel>> GetSelectList(string search);
Task<List<EmployerSelectListViewModel>> GetSelectList(string search,long id);
#endregion

View File

@@ -81,12 +81,13 @@ public interface IEmployeeApplication
#region Api
/// <summary>
/// لیست پرسنل برای جستجو
/// </summary>
/// <param name="searchText"></param>
/// <returns></returns>
Task<List<EmployeeSelectListViewModel>> GetSelectList(string searchText);
/// <summary>
/// لیست پرسنل برای جستجو
/// </summary>
/// <param name="searchText"></param>
/// <param name="id"></param>
/// <returns></returns>
Task<List<EmployeeSelectListViewModel>> GetSelectList(string searchText, long id);
/// <summary>
/// لیست کل پرسنل

View File

@@ -42,8 +42,9 @@ public interface IEmployerApplication
/// لیست نام کارفرما ها برای جستجو
/// </summary>
/// <param name="search"></param>
/// <param name="id"></param>
/// <returns></returns>
Task<List<EmployerSelectListViewModel>> GetSelectList(string search);
Task<List<EmployerSelectListViewModel>> GetSelectList(string search, long id);
#endregion
#region NewByHeydari

View File

@@ -68,8 +68,9 @@ public interface IPersonalContractingPartyApp
/// لیست طرف حساب برای سلکت لیست سرچ
/// </summary>
/// <param name="search"></param>
/// <param name="id"></param>
/// <returns></returns>
Task<List<ContractingPartySelectListViewModel>> GetSelectList(string search);
Task<List<ContractingPartySelectListViewModel>> GetSelectList(string search, long id);
/// <summary>
/// ایجاد طرف حساب حقیقی

View File

@@ -85,7 +85,7 @@ public interface IWorkshopApplication
Task<List<WorkshopWithLeftWorkTempEmployeesDto>> GetWorkshopsForLeftWorkTemp(long accountId);
Task<int> GetWorkshopsForLeftWorkTempCount(long accountId);
Task<List<WorkshopSelectListViewModel>> GetSelectList(string search, int pageIndex, int pageSize);
Task<List<WorkshopSelectListViewModel>> GetSelectList(string search, long id);
#endregion

View File

@@ -1669,9 +1669,9 @@ public class EmployeeAplication : RepositoryBase<long, Employee>, IEmployeeAppli
#region Api
public async Task<List<EmployeeSelectListViewModel>> GetSelectList(string searchText)
public async Task<List<EmployeeSelectListViewModel>> GetSelectList(string searchText,long id)
{
return await _EmployeeRepository.GetSelectList(searchText);
return await _EmployeeRepository.GetSelectList(searchText,id );
}
public async Task<List<GetEmployeeListViewModel>> GetList(GetEmployeeListSearchModel searchModel)

View File

@@ -1185,9 +1185,9 @@ public class EmployerApplication : IEmployerApplication
return opration.Succcedded();
}
public async Task<List<EmployerSelectListViewModel>> GetSelectList(string search)
public async Task<List<EmployerSelectListViewModel>> GetSelectList(string search,long id)
{
return await _EmployerRepository.GetSelectList(search);
return await _EmployerRepository.GetSelectList(search,id);
}
async Task<OperationResult<string>> IEmployerApplication.Remove(long id)

View File

@@ -518,9 +518,9 @@ public class PersonalContractingPartyApplication : IPersonalContractingPartyApp
return await _personalContractingPartyRepository.GetList(searchModel);
}
public async Task<List<ContractingPartySelectListViewModel>> GetSelectList(string search)
public async Task<List<ContractingPartySelectListViewModel>> GetSelectList(string search,long id)
{
return await _personalContractingPartyRepository.GetSelectList(search);
return await _personalContractingPartyRepository.GetSelectList(search,id);
}
public async Task<OperationResult> CreateReal(CreateRealContractingParty command)
{

View File

@@ -920,9 +920,9 @@ public class WorkshopAppliction : IWorkshopApplication
return _workshopRepository.GetWorkshopsForLeftWorkTempCount(accountId);
}
public async Task<List<WorkshopSelectListViewModel>> GetSelectList(string search, int pageIndex, int pageSize)
public async Task<List<WorkshopSelectListViewModel>> GetSelectList(string search, long id)
{
return await _workshopRepository.GetSelectList(search, pageIndex,pageSize);
return await _workshopRepository.GetSelectList(search, id);
}
#endregion

View File

@@ -950,22 +950,35 @@ public class EmployeeRepository : RepositoryBase<long, Employee>, IEmployeeRepos
#region Api
public async Task<List<EmployeeSelectListViewModel>> GetSelectList(string searchText)
public async Task<List<EmployeeSelectListViewModel>> 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<List<GetEmployeeListViewModel>> GetList(GetEmployeeListSearchModel searchModel)
{

View File

@@ -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<long, Employer>, IEmployerRepos
}).ToList();
}
public async Task<List<EmployerSelectListViewModel>> GetSelectList(string search)
public async Task<List<EmployerSelectListViewModel>> 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

View File

@@ -572,7 +572,7 @@ public class PersonalContractingPartyRepository : RepositoryBase<long, PersonalC
return result;
}
public async Task<List<ContractingPartySelectListViewModel>> GetSelectList(string search)
public async Task<List<ContractingPartySelectListViewModel>> GetSelectList(string search,long id)
{
var query = _context.PersonalContractingParties.Select(x => new ContractingPartySelectListViewModel
{
@@ -584,12 +584,21 @@ public class PersonalContractingPartyRepository : RepositoryBase<long, PersonalC
: x.LName + " " + x.SureName
});
ContractingPartySelectListViewModel idSelected = null;
if (id > 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<List<GetContractingPartyNationalCodeOrNationalIdViewModel>> GetNationalCodeOrNationalId()

View File

@@ -206,7 +206,7 @@ public class WorkshopRepository : RepositoryBase<long, Company.Domain.WorkshopAg
RotatingShiftCompute = x.RotatingShiftCompute,
IsStaticCheckout = x.IsStaticCheckout,
}).FirstOrDefault(x => x.Id == id);
}).FirstOrDefault(x => x.Id == id);
}
public List<long> GetRelation(long workshopid)
@@ -1155,7 +1155,7 @@ public class WorkshopRepository : RepositoryBase<long, Company.Domain.WorkshopAg
}
public async Task<List<WorkshopSelectListViewModel>> GetSelectList(string search, int pageIndex, int pageSize)
public async Task<List<WorkshopSelectListViewModel>> GetSelectList(string search, long id)
{
var query = _context.Workshops.Select(x => new WorkshopSelectListViewModel()
{
@@ -1163,16 +1163,24 @@ public class WorkshopRepository : RepositoryBase<long, Company.Domain.WorkshopAg
Id = x.id,
Name = x.WorkshopFullName
});
WorkshopSelectListViewModel 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.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<WorkshopViewModel> GetWorkshopByWorkshopIds(List<long> workshopIds)
@@ -1617,7 +1625,7 @@ public class WorkshopRepository : RepositoryBase<long, Company.Domain.WorkshopAg
item.HasBlockContractingParty = blockContractingPartyIds.Intersect(empContractingPartyIds).Any();
}
return list.OrderBy(x=>x.ArchiveCodeInt).ToList();
return list.OrderBy(x => x.ArchiveCodeInt).ToList();
}
#endregion

View File

@@ -140,9 +140,9 @@ public class ContractingPartyController : AdminBaseController
/// </summary>
/// <returns></returns>
[HttpGet("selectList")]
public async Task<ActionResult<List<ContractingPartySelectListViewModel>>> GetSelectList(string search)
public async Task<ActionResult<List<ContractingPartySelectListViewModel>>> GetSelectList(string search, long id)
{
return await _contractingPartyApplication.GetSelectList(search);
return await _contractingPartyApplication.GetSelectList(search, id);
}
/// <summary>

View File

@@ -16,16 +16,16 @@ public class EmployeesController:AdminBaseController
}
/// <summary>
/// لیست پرسنل برای جستجو
/// </summary>
/// <param name="search"></param>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet("select_list")]
public async Task<ActionResult<List<EmployeeSelectListViewModel>>> GetSelectList(string search)
public async Task<ActionResult<List<EmployeeSelectListViewModel>>> GetSelectList(string search, long id)
{
var data = await _employeeApplication.GetSelectList(search);
var data = await _employeeApplication.GetSelectList(search, id);
return data;
}

View File

@@ -115,9 +115,9 @@ public class EmployerController : AdminBaseController
/// </summary>
/// <returns></returns>
[HttpGet("select_list")]
public async Task<List<EmployerSelectListViewModel>> GetSelectList(string search)
public async Task<List<EmployerSelectListViewModel>> GetSelectList(string search, long id)
{
return await _employerApplication.GetSelectList(search);
return await _employerApplication.GetSelectList(search, id);
}
}

View File

@@ -21,9 +21,9 @@ public class WorkshopController: AdminBaseController
/// <param name="pageSize"></param>
/// <returns></returns>
[HttpGet("select_list")]
public async Task<ActionResult<List<WorkshopSelectListViewModel>>> GetSelectList(string search, int pageIndex,int pageSize=20)
public async Task<ActionResult<List<WorkshopSelectListViewModel>>> GetSelectList(string search, long id)
{
var data = await _workshopApplication.GetSelectList(search,pageIndex, pageSize);
var data = await _workshopApplication.GetSelectList(search,id);
return data;
}

View File

@@ -87,17 +87,17 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.MonthlyOverview
return new JsonResult(counter);
}
public async Task<IActionResult> OnGetEmployerSelectList(string search)
public async Task<IActionResult> 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<IActionResult> OnGetWorkshopSelectList(string search, int pageIndex,int pageSize = 20)
public async Task<IActionResult> 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