Files
Backend-Api/Company.Domain/LeaveAgg/ILeaveRepository.cs

37 lines
1.4 KiB
C#

using System;
using System.Collections.Generic;
using _0_Framework.Application;
using _0_Framework.Domain;
using CompanyManagment.App.Contracts.Leave;
namespace Company.Domain.LeaveAgg;
public interface ILeaveRepository : IRepository<long, Leave>
{
EditLeave GetDetails(long id);
List<LeaveViewModel> search(LeaveSearchModel searchModel);
OperationResult RemoveLeave(long id);
#region Pooya
List<LeaveViewModel> GetByWorkshopIdEmployeeIdInDates(long workshopId, long employeeId, DateTime start, DateTime end);
/// <summary>
/// چک می کند که آیا پرسنل مرخصی روزانه استحقاقی دارد یا خیر
/// </summary>
bool HasDailyLeave(long employeeId, long workshopId, DateTime date);
#endregion
bool CheckContractExist(DateTime myDate,long employeeId, long workshopId);
LeavErrorViewModel CheckErrors(DateTime startLeav, DateTime endLeav, long employeeId, long workshopId,bool isInvalid);
LeaveViewModel LeavOnChekout(DateTime starContract, DateTime endContract, long employeeId, long workshopId);
List<LeaveMainViewModel> searchClient(LeaveSearchModel searchModel);
LeavePrintViewModel PrintOne(long id);
List<LeavePrintViewModel> PrintAll(List<long> id);
#region Vafa
List<LeaveViewModel> LastLeaveMain(LeaveSearchModel searchModel);
#endregion
bool CheckIfValidToEdit(long id);
}