package it.micegroup.gestioneferie.configurazionepf.service;

import it.micegroup.gestioneferie.configurazionepf.entity.DpercAutPianFerieH;
import it.micegroup.gestioneferie.configurazionepf.criteria.DpercAutPianFerieHCriteria;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import it.micegroup.gestioneferie.configurazionepf.entity.DpercAutPianFeriePk;
import it.micegroup.gestioneferie.configurazionepf.entity.DconfigPaPianiFerie;
import it.micegroup.gestioneferie.libs.service.BaseEntityService;
import it.micegroup.voila2runtime.exception.BusinessException;

public interface DpercAutPianFerieHService
		extends BaseEntityService<DpercAutPianFerieH, Long, DpercAutPianFerieHCriteria> {

	// PARENT-SPECIFIC SERVICES
	Page<DpercAutPianFerieH> findByTheDpercAutPianFeriePk(DpercAutPianFeriePk parentEntity, Pageable pageable);

	Page<DpercAutPianFerieH> findByTheDconfigPaPianiFerie(DconfigPaPianiFerie parentEntity, Pageable pageable);

	/**
	 * Return a list of DpercAutPianFeriePk from all DpercAutPianFerieH with given
	 * theDpercAutPianFeriePk
	 *
	 * @param dconfigPaPianiFerie
	 * @param pageable
	 * @return list of DpercAutPianFeriePk from all DpercAutPianFerieH with given
	 *         TheDpercAutPianFeriePk
	 */
	Page<DpercAutPianFeriePk> findDpercAutPianFeriePkByTheDconfigPaPianiFerie(DconfigPaPianiFerie dconfigPaPianiFerie,
			Pageable pageable);

	/**
	 * Return a list of DconfigPaPianiFerie from all DpercAutPianFerieH with given
	 * theDconfigPaPianiFerie
	 *
	 * @param dpercAutPianFeriePk
	 * @param pageable
	 * @return list of DconfigPaPianiFerie from all DpercAutPianFerieH with given
	 *         TheDconfigPaPianiFerie
	 */
	Page<DconfigPaPianiFerie> findDconfigPaPianiFerieByTheDpercAutPianFeriePk(DpercAutPianFeriePk dpercAutPianFeriePk,
			Pageable pageable);

	DpercAutPianFerieH bulkUpdate(DpercAutPianFerieH dpercAutPianFerieH);

}
