class SceTransferenciaRN extends BaseBusiness {

	public void validarAtualizacao(SceTransferencia transferencia,SceTransferencia oldTransferencia) throws ApplicationBusinessException{

		//Data em que foi gerado a TRS e o servidor que gerou não poderá ser alterado

		if(!transferencia.getServidor().equals(oldTransferencia.getServidor()) || !transferencia.getDtGeracao().equals(oldTransferencia.getDtGeracao())){
			//Não alterar campos relativos a geração da Transferência
			throw new ApplicationBusinessException(SceTransferenciaRNExceptionCode.SCE_00482);

		}

		Boolean alterado = this.validarAlteracaoCamposEfetivacao(transferencia, oldTransferencia);

		if(alterado){

			throw new ApplicationBusinessException(SceTransferenciaRNExceptionCode.SCE_00481);

		}

		// TESTES DE CAMPOS ALTERADOS X SITUAÇÃO
		alterado =	this.validaAltaracao(transferencia,oldTransferencia);
		if(alterado && oldTransferencia.getEfetivada()) {

			// Quando estiver efetivado, não pode efetuar alteração
			throw new ApplicationBusinessException(SceTransferenciaRNExceptionCode.SCE_00408);

		}

		if(oldTransferencia.getEstorno()){

			if(alterado){
				// Transferência já foi estornada.
				throw new ApplicationBusinessException(SceTransferenciaRNExceptionCode.SCE_00757);
			}			

		}


	}

}