class TipoApresentacaoMedicamentoRN extends BaseBusiness {

	public void preUpdateTipoApresentacaoMedicamento(
			AfaTipoApresentacaoMedicamento tipoApresentacaoMedicamentoOld,
			AfaTipoApresentacaoMedicamento tipoApresentacaoMedicamento)
			throws ApplicationBusinessException {

		// Seta o servidor
		this.setServidor(tipoApresentacaoMedicamento);

		// valida alteração
		if (!CoreUtil.igual(tipoApresentacaoMedicamentoOld.getDescricao(),
				tipoApresentacaoMedicamento.getDescricao())) {
			throw new ApplicationBusinessException(
					FarmaciaExceptionCode.AFA_00188);
		}

		// valida inativação
		if (CoreUtil.igual(tipoApresentacaoMedicamento.getSituacao(),
				DominioSituacao.I)) {

			Long numMedicamentosAtivos = getAfaMedicamentoDAO()
					.obterMedicamentosAtivosPorTipoApresentacaoCount(
							tipoApresentacaoMedicamento.getSigla());

			if (numMedicamentosAtivos > 0) {
				throw new ApplicationBusinessException(
						FarmaciaExceptionCode.AFA_00187);
			}
		}
	}

}