class CedenciaSalaInstitucionalParaEquipeON extends BaseBusiness {

	public void validarDatas(CedenciaSalaInstitucionalParaEquipeVO cedenciaSala,MbcCaracteristicaSalaCirg caracteristicaSalaCirg) throws ApplicationBusinessException {
		if (DateUtil.validaDataTruncadaMaior(new Date(), cedenciaSala.getData())) {
			throw new ApplicationBusinessException(CedenciaSalasEntreEquipeONExceptionCode.DATA_INFERIOR_ATUAL);
		}
		if (DateUtil.truncaData(new Date()).equals(DateUtil.truncaData(cedenciaSala.getData()))) {
			MbcHorarioTurnoCirg horTurnoCir = (caracteristicaSalaCirg != null) ? this.mbcHorarioTurnoCirgDAO.obterPorChavePrimaria(caracteristicaSalaCirg.getMbcHorarioTurnoCirg().getId()): null;			
			
			if (DateUtil.validaHoraMaior(new Date(), horTurnoCir.getHorarioInicial())) {
				throw new ApplicationBusinessException(CedenciaSalasEntreEquipeONExceptionCode.HORA_ATUAL_SUPERIOR_PERIODO);
			}
		}
		if(cedenciaSala.getRecorrencia()){
			if(DateUtil.validaDataMaior(cedenciaSala.getData(), cedenciaSala.getDataFim())){
				throw new ApplicationBusinessException(CedenciaDeSalaInstitucionalParaEquipeONExceptionCode.MBC_01112);
			}
			if(cedenciaSala.getIntervalo() < 1 || cedenciaSala.getIntervalo() > 52 ){
				throw new ApplicationBusinessException(CedenciaDeSalaInstitucionalParaEquipeONExceptionCode.MBC_01113);
			}
		}
		if(!AghuEnumUtils.retornaDiaSemanaAghu(cedenciaSala.getData()).equals(cedenciaSala.getDiaSemana()) ){
			throw new ApplicationBusinessException(CedenciaDeSalaInstitucionalParaEquipeONExceptionCode.MBC_01117);
		}
	}

}