package com.bankaudit.service;

import java.util.List;

import com.bankaudit.dto.DataTableResponse;
import com.bankaudit.model.UserLeavePlanner;
import com.bankaudit.util.ServiceStatus;


public interface UserLeavePlannerService {
	void createUserLeave(UserLeavePlanner userLeavePlanner) throws Exception;
	
	void updateUserLeave(UserLeavePlanner userLeavePlanner);
	
	DataTableResponse getAllUserLeaves(Integer legalEntityCodeStr,String search, Integer orderColumn, String orderDirection, Integer page, Integer size);
	
	List<UserLeavePlanner> getByUserIdLeaveType(Integer legalEntityCodeStr,String userId,String leaveType);
	
	UserLeavePlanner getUserLeaveById(Integer legalEntityCodeStr,Integer id, String status);
	
	ServiceStatus validateUserLeaves(UserLeavePlanner userLeavePlanner);
	
	void deleteUserLevaePlanByID(Integer legalEntityCode, Integer id, String userId);
}
