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 { EditLeave GetDetails(long id); List search(LeaveSearchModel searchModel); OperationResult RemoveLeave(long id); #region Pooya List GetByWorkshopIdEmployeeIdInDates(long workshopId, long employeeId, DateTime start, DateTime end); /// /// چک می کند که آیا پرسنل مرخصی روزانه استحقاقی دارد یا خیر /// 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 searchClient(LeaveSearchModel searchModel); LeavePrintViewModel PrintOne(long id); List PrintAll(List id); #region Vafa List LastLeaveMain(LeaveSearchModel searchModel); #endregion bool CheckIfValidToEdit(long id); }