package com.bankaudit.dao;

import java.util.Date;
import java.util.List;
import java.util.Map;

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


public interface MaintHolidayDao extends Dao{

	List<MaintHoliday> getMaintHoliday(Integer legalEntityCode, String calendarYear, String holidayType,
			String countryAlpha3Code, String stateCode, Date holidayDate, String weekday, String status);

	DataTableResponse getMaintHolidays(Integer legalEntityCodeStr,String search, Integer orderColumn, String orderDirection, Integer page,
			Integer size);
	
	ServiceStatus validateHoliday(MaintHoliday maintHoliday);

	void deleteMaintHoliday(Integer id, String statusUnauth);

	boolean isMaintHoliday(Integer id, String statusUnauth);

	Map<String,List<String>> getWeeklyAndFortnightlyHoliday(Integer legalEntityCode,String unitCode);
	
	List<Date> getNormalHolidaysCount(Integer legalEntityCode,String unitCode, Date startDate,Date endDate);
	
}
