class MbcProfCirurgiasRN extends BaseBusiness {

	public void verificarProfissionalResponsavelRealizouCirurgia(MbcProfCirurgias profCirurgias) throws BaseException {

		if(profCirurgias.getIndRealizou() == null){
			profCirurgias.setIndRealizou(Boolean.FALSE);
		}
		
		// Se realizou a ciurgia somente os seguintes profissionais serão aceitos: Médico contratado, Médico professor e Médico auxiliar
		if (Boolean.TRUE.equals(profCirurgias.getIndRealizou())) {

			// Obtem a função do profissional
			final DominioFuncaoProfissional funcaoProfissional = profCirurgias.getFuncaoProfissional();

			// Verfica se a função do profissional permite a realização da cirurgia
			boolean isFuncoesProfissionalPermitidas = DominioFuncaoProfissional.MCO.equals(funcaoProfissional) || DominioFuncaoProfissional.MPF.equals(funcaoProfissional)
			|| DominioFuncaoProfissional.MAX.equals(funcaoProfissional);

			if (!isFuncoesProfissionalPermitidas) {
				// Profissional responsável pela realização da cirurgia deve ser médico
				throw new ApplicationBusinessException(MbcProfCirurgiasRNExceptionCode.ERRO_PROFISSIONAL_REALIZOU_CIRURGIA);
			}

		}

	}

}