using System; using System.Collections.Generic; using _0_Framework.Application; using _0_Framework.Domain; using CompanyManagment.App.Contracts.InsuranceList; using CompanyManagment.App.Contracts.LeftWork; using CompanyManagment.App.Contracts.LeftWorkInsurance; using CompanyManagment.App.Contracts.PersonnleCode; namespace Company.Domain.LeftWorkInsuranceAgg; public interface ILeftWorkInsuranceRepository : IRepository { EditLeftWorkInsurance GetDetails(long id); string StartWork(long employeeId, long workshopId, string leftWork); List searchByWorkshopId(long workshopId); List search(LeftWorkInsuranceSearchModel searchModel); OperationResult RemoveLeftWorkInsurance(long id); OperationResult RemoveAllLeftWorkInsurance(long workshopId, long employeeId); List GetLeftPersonelByWorkshopId(List workshopIds); List SearchForCreateInsuranceList(EmployeeForCreateInsuranceListSearchModel searchModel); LeftWorkInsuranceViewModel GetLeftPersonelByWorkshopIdAndEmployeeId(long workshopId, long employeeId); OperationResult RemoveAllLeftWorkInsuranceWithoutWorkshop(long employeeId); OperationResult CreateLeftWorkInsurance(InformationLeftworkInsurance command); OperationResult CreateLeftworkInsuranceByLeftworkGroups(string employeeFullName, long commandEmployeeId, List commandPersonnelCode, List leftworkInsuranceGroups); OperationResult CheckDeleteLeftWorkInsurance(long workshopId, long employeeId, DateTime date, int type); OperationResult CheckEditLeftWorkInsurance(long workshopId, long employeeId, DateTime date, int type); OperationResult CheckBeforeSaveLeftWorkInsurance(long workshopId, long employeeId, DateTime toGeorgianDateTime, int type); int TotalWorkingYears(long employeeId, long workshopId, DateTime startDate); #region Insurance /// /// دریافت شروع و ترک کار بیمه پرسنل و اطلاعات هویتی آن /// /// /// List GetEmployeeInsuranceLeftWorksAndInformation(long workshopId, DateTime startDate, DateTime endDate); #endregion #region Mahan /// /// پرسنل هایی که در قرارداد ترک کار دارند ولی در بیمه ترک کاری برایشان نخورده /// /// /// List GetEmployeesWithContractExitOnly(long workshopId); LeftWorkInsurance GetLastLeftWorkByEmployeeIdAndWorkshopId(long workshopId, long employeeId); #endregion }