Files
Backend-Api/Company.Domain/LeftWorkInsuranceAgg/ILeftWorkInsuranceRepository.cs
2025-01-28 16:46:26 +03:30

44 lines
2.2 KiB
C#

using System;
using System.Collections.Generic;
using _0_Framework.Application;
using _0_Framework.Domain;
using CompanyManagment.App.Contracts.InsuranceList;
using CompanyManagment.App.Contracts.LeftWorkInsurance;
using CompanyManagment.App.Contracts.PersonnleCode;
namespace Company.Domain.LeftWorkInsuranceAgg;
public interface ILeftWorkInsuranceRepository : IRepository<long, LeftWorkInsurance>
{
EditLeftWorkInsurance GetDetails(long id);
string StartWork(long employeeId, long workshopId, string leftWork);
List<LeftWorkInsuranceViewModel> searchByWorkshopId(long workshopId);
List<LeftWorkInsuranceViewModel> search(LeftWorkInsuranceSearchModel searchModel);
OperationResult RemoveLeftWorkInsurance(long id);
OperationResult RemoveAllLeftWorkInsurance(long workshopId, long employeeId);
List<LeftWorkInsuranceViewModel> GetLeftPersonelByWorkshopId(List<long> workshopIds);
List<LeftWorkInsuranceViewModel> SearchForCreateInsuranceList(EmployeeForCreateInsuranceListSearchModel searchModel);
LeftWorkInsuranceViewModel GetLeftPersonelByWorkshopIdAndEmployeeId(long workshopId, long employeeId);
OperationResult RemoveAllLeftWorkInsuranceWithoutWorkshop(long employeeId);
OperationResult CreateLeftWorkInsurance(InformationLeftworkInsurance command);
OperationResult CreateLeftworkInsuranceByLeftworkGroups(string employeeFullName, long commandEmployeeId, List<PersonnelCodeViewModel> commandPersonnelCode, List<LeftWorkInsuranceGroup> 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
/// <summary>
/// دریافت ترک کار بیمه با آی دی کارگاه
/// </summary>
/// <param name="workshopId"></param>
/// <returns></returns>
List<EmployeeDetailsForInsuranceListViewModel> GetInsuranceleftWorks(long workshopId, DateTime startDate, DateTime endDate);
#endregion
}