Files
Backend-Api/CompanyManagment.App.Contracts/Leave/ILeaveApplication.cs
2025-04-20 19:54:58 +03:30

40 lines
1.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using _0_Framework.Application;
using CompanyManagment.App.Contracts.Contract;
namespace CompanyManagment.App.Contracts.Leave;
public interface ILeaveApplication
{
OperationResult Create(CreateLeave command);
OperationResult Edit(EditLeave command);
EditLeave GetDetails(long id);
List<LeaveViewModel> search(LeaveSearchModel searchModel);
LeavePrintViewModel PrintOne(long id);
List<LeavePrintViewModel> PrintAll(List<long> id);
GroupLeavePrintViewModel PrintPersonnelLeaveList(List<long> id);
OperationResult RemoveLeave(long id);
LeaveViewModel LeavOnChekout(DateTime starContract, DateTime endContract, long employeeId, long workshopId);
List<LeaveMainViewModel> searchClient(LeaveSearchModel search);
#region Vafa
List<LeaveViewModel> LastLeaveMain(LeaveSearchModel searchModel);
#endregion
bool CheckIfValidToEdit(long id);
OperationResult<bool> HasDailyLeave(long workshopId, long employeeId, string dateFa);
#region Pooya
OperationResult ValidateNewLeaveWithExistingRollCalls(long workshopId, long employeeId, string paidLeaveType, DateTime start, DateTime end);
TimeSpan GetEmployeeLeaveTimeSpanInDates(long workshopId, long employeeId, string startFa, string endFa,
string type);
#endregion
}