package gcom.cadastro.atualizacaocadastral.validador; import gcom.cadastro.IRepositorioCadastro; import gcom.cadastro.atualizacaocadastral.command.AtualizacaoCadastralImovel; import gcom.cadastro.atualizacaocadastral.command.DadoAtualizacaoRamoAtividade; import java.util.List; import java.util.Map; public class ValidadorRamoAtividadeCommand extends ValidadorCommand { private IRepositorioCadastro repositorioCadastro; public ValidadorRamoAtividadeCommand( AtualizacaoCadastralImovel cadastroImovel, Map<String, String> linha, IRepositorioCadastro repositorioCadastro) { super(cadastroImovel, linha); this.repositorioCadastro = repositorioCadastro; } @Override public void execute() throws Exception { List<DadoAtualizacaoRamoAtividade> dadosRamoAtividade = cadastroImovel.getDadosRamoAtividade(); if (!dadosRamoAtividade.isEmpty()) { if (cadastroImovel.getDadosImovel().contemApenasResidencial()) { cadastroImovel.addMensagemErro("Categoria residencial n�o permite ramo de atividade"); return; } for (DadoAtualizacaoRamoAtividade dadoRamoAtividade : dadosRamoAtividade) { boolean existeRamoAtividade = repositorioCadastro.existeRamoAtividade(dadoRamoAtividade.getId()); if (!existeRamoAtividade) { cadastroImovel.addMensagemErro("Ramo de atividade com c�digo inv�lido"); return; } } } } }