using _0_Framework.Application; using _0_Framework.Domain; using CompanyManagment.App.Contracts.InstitutionPlan; using CompanyManagment.App.Contracts.Leave; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Company.Domain.LeaveAgg; public interface ILeaveRepository : IRepository { EditLeave GetDetails(long id); List search(LeaveSearchModel searchModel); Task 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); Task> PrintAllAsync(List ids, long workshopId); #region Vafa List LastLeaveMain(LeaveSearchModel searchModel); #endregion bool CheckIfValidToEdit(long id); /// /// دریافت لیست مرخصی ها در کلاینت /// Api /// /// /// Task> GetList( LeaveListSearchModel searchModel); /// /// دریافت لیست گروه بندی شده /// /// /// Task> GetGroupList(LeaveListSearchModel searchModel); /// /// پرینت لیستی /// /// /// Task ListPrint(List ids); }