Files
Backend-Api/Company.Domain/EmployeeAgg/IEmployeeRepository.cs
2024-07-05 21:36:15 +03:30

45 lines
2.1 KiB
C#

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.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
}