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 { List GetEmployee(); EditEmployee GetDetails(long id); Task> Search(EmployeeSearchModel searchModel); Task> GetEmployeeToList(); List SearchInsuranceRecord(EmployeeInsuranceRecordSearchModel searchModel); void CreateEmployeeInsuranceRecord(EmployeeInsuranceRecord employeeInsuranceRecord); EmployeeInsuranceRecord GetEmployeeInsuranceRecord(long id); void RemoveEmployeeInsuranceRecord(long id); EditEmployee GetDetailsByADDate(long id); List GetEmployeeByTextSearch(string textSearch); List SearchForClient(EmployeeSearchModel searchModel); void Remove(long id); List GetEmployeeByTextSearchForClient(string textSearch, long workshopId); List GetEmployeeByTextSearchNationalCodeForClient(string textSearch, long workshopId); List 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 SearchForMain(EmployeeSearchModel searchModel); #endregion #region Mahan Employee GetByNationalCode(string nationalCode); List GetBy(List employeeIds); Employee GetByNationalCodeIgnoreQueryFilter(string nationalCode); Task> GetClientEmployeesStartWork(long workshopId); Task> GetEmployeesForLeftWorkTemp(long workshopId); Employee GetIgnoreQueryFilter(long id); Task> WorkedEmployeesInWorkshopSelectList(long workshopId); #endregion #region Pooya List GetRangeByIds(IEnumerable newEmployeeIds); List GetWorkingEmployeesByWorkshopIdsAndNationalCodeAndDate(List workshopIds, string nationalCode, DateTime date); List GetWorkingEmployeesByWorkshopId(long workshopId); List GetWorkedEmployeesByWorkshopIdsAndNationalCodeAndDate(List workshopIds, string nationalCode, DateTime date); List<(long Id, string Name)> SimpleGetRangeByIds(IEnumerable newEmployeeIds); Task GetEmployeeEditInEmployeeDocumentWorkFlow(long employeeId, long workshopId); #endregion #region Api Task> GetSelectList(string searchText,long id); Task> GetList(GetEmployeeListSearchModel searchModel); Task> GetClientEmployeeList(GetClientEmployeeListSearchModel searchModel, long workshopId); #endregion Task> GetWorkingEmployeesSelectList(long workshopId); }