Files
Backend-Api/Company.Domain/EmployeeAgg/IEmployeeRepository.cs
2025-12-29 17:00:42 +03:30

110 lines
4.8 KiB
C#

using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using _0_Framework.Domain;
using Company.Domain.EmployeeInsuranceRecordAgg;
using CompanyManagment.App.Contracts.Employee;
using CompanyManagment.App.Contracts.Employee.DTO;
using CompanyManagment.App.Contracts.EmployeeInsuranceRecord;
namespace Company.Domain.EmployeeAgg;
public interface IEmployeeRepository : IRepository<long, Employee>
{
List<EmployeeViewModel> GetEmployee();
EditEmployee GetDetails(long id);
Task<List<EmployeeViewModel>> Search(EmployeeSearchModel searchModel);
Task<List<EmployeeSelectListViewModel>> GetEmployeeToList();
List<EmployeeInsuranceRecordViewModel> SearchInsuranceRecord(EmployeeInsuranceRecordSearchModel searchModel);
void CreateEmployeeInsuranceRecord(EmployeeInsuranceRecord employeeInsuranceRecord);
EmployeeInsuranceRecord GetEmployeeInsuranceRecord(long id);
void RemoveEmployeeInsuranceRecord(long id);
EditEmployee GetDetailsByADDate(long id);
List<EmployeeViewModel> GetEmployeeByTextSearch(string textSearch);
List<EmployeeViewModel> SearchForClient(EmployeeSearchModel searchModel);
void Remove(long id);
List<EmployeeViewModel> GetEmployeeByTextSearchForClient(string textSearch, long workshopId);
List<EmployeeViewModel> GetEmployeeByTextSearchNationalCodeForClient(string textSearch, long workshopId);
List<EmployeeViewModel> GetEmployeeByTextSearchInsuranceCodeForClient(string textSearch, long workshopId);
long CreateEmployeeForClient(CreateEmployee command);
bool ExistsEmployeeAccountNationalCode(string nationalCode);
bool ExistsEmployeeAccountNationalCodeEmployeeId(string nationalcode, long id);
bool ExistsEmployeeWorkshopNationalCode(string commandNationalCode, long commandWorkshopId);
bool ExistsEmployeeWorkshopNationalCodeEmployeeId(string nationalCode, long workshopId, long id);
bool ExistsEmployeeWorkshoppInsuranceCode(string insuranceCode, long workshopId);
bool ExistsEmployeeWorkshopInsuranceCodeEmployeeId(string commandInsuranceCode, long commandWorkshopId, long commandId);
#region NewByHeydari
public List<EmployeeViewModel> SearchForMain(EmployeeSearchModel searchModel);
#endregion
#region Mahan
Employee GetByNationalCode(string nationalCode);
List<EmployeeViewModel> GetBy(List<long> employeeIds);
Employee GetByNationalCodeIgnoreQueryFilter(string nationalCode);
Task<ICollection<ClientStartedWorkEmployeesDto>> GetClientEmployeesStartWork(long workshopId);
Task<ICollection<ClientLeftWorkWorkEmployeesDto>> GetEmployeesForLeftWorkTemp(long workshopId);
Employee GetIgnoreQueryFilter(long id);
[Obsolete("این متد منسوخ شده است و از متد WorkedEmployeesInWorkshopSelectList استفاده کنید")]
Task<List<EmployeeSelectListViewModel>> WorkedEmployeesInWorkshopSelectList(long workshopId);
#endregion
#region Pooya
List<Employee> GetRangeByIds(IEnumerable<long> newEmployeeIds);
List<EmployeeViewModel> GetWorkingEmployeesByWorkshopIdsAndNationalCodeAndDate(List<long> workshopIds, string nationalCode, DateTime date);
List<EmployeeViewModel> GetWorkingEmployeesByWorkshopId(long workshopId);
List<EmployeeViewModel> GetWorkedEmployeesByWorkshopIdsAndNationalCodeAndDate(List<long> workshopIds,
string nationalCode, DateTime date);
List<(long Id, string Name)> SimpleGetRangeByIds(IEnumerable<long> newEmployeeIds);
Task<GetEditEmployeeInEmployeeDocumentViewModel> GetEmployeeEditInEmployeeDocumentWorkFlow(long employeeId,
long workshopId);
#endregion
#region Api
Task<List<EmployeeSelectListViewModel>> GetSelectList(string searchText,long id);
Task<List<GetEmployeeListViewModel>> GetList(GetEmployeeListSearchModel searchModel);
Task<List<GetClientEmployeeListViewModel>> GetClientEmployeeList(GetClientEmployeeListSearchModel searchModel, long workshopId);
/// <summary>
/// دریافت لیست پرسنل کلاینت
/// api
/// </summary>
/// <param name="searchModel"></param>
/// <param name="workshopId"></param>
/// <returns></returns>
Task<List<EmployeeListDto>> ListOfAllEmployeesClient(EmployeeSearchModelDto searchModel, long workshopId);
/// <summary>
/// پرینت تجمیعی پرسنل کلاینت
/// api
/// </summary>
/// <param name="workshopId"></param>
/// <returns></returns>
Task<List<PrintAllEmployeesInfoDtoClient>> PrintAllEmployeesInfoClient(long workshopId);
/// <summary>
/// سلکت لیست پرسنل های کارگاه کلاینت
/// </summary>
/// <param name="workshopId"></param>
/// <returns></returns>
Task<List<EmployeeSelectListViewModel>> GetWorkingEmployeesSelectList(long workshopId);
#endregion
Task<List<EmployeeSelectListViewModel>> GetWorkingEmployeesSelectList(long workshopId);
}